2016-07-07 14 views
0

Ich erstellte eine LINQ Abfrage, um die DayOfWeek für ein Datum in meiner Datenbank zu erhalten. Die Abfrage (Ich habe versucht, es herauszufinden, so ist dies nur die Abfrage, die ich in LinqPad verwenden) sieht wie folgt aus:DateTime.DayOfWeek Rückgabe falscher Tag

(from e in Containers 
where e.IsEmpty == false && 
    e.DepotArrivalRetunDateTime.GetValueOrDefault().Date > DateTime.Today.AddDays(-7) && 
    e.DepotArrivalRetunDateTime.GetValueOrDefault().Date <= DateTime.Today 
select 
new 
{ 
    WeekDay = e.CustomerDepartureReturnDateTime.GetValueOrDefault().DayOfWeek, 
    Bla = e.DepotArrivalRetunDateTime.GetValueOrDefault().Date 
}).ToList() 

Der Wert I im Gegenzug ist die folgende Tabelle:

Tuesday 7/6/2016 12:00:00 AM 

Tuesday 7/6/2016 12:00:00 AM 

Tuesday 7/5/2016 12:00:00 AM 

Monday 7/4/2016 12:00:00 AM 

Thursday 7/7/2016 12:00:00 AM 

Wie Sie sehen können, ist die zurückgegebene DayOfWeek für 7/5/2016Tuesday sowie die DayOfWeek für 7/6/2016, die Wednesday sein sollte. Ich kann nicht herausfinden, wo das Problem sein könnte. Ich würde wirklich jede Hilfe bei diesem Thema schätzen.

Antwort

3

Ihr Code erhält von CustomerDepartureReturnDateTime einen Wochentag, aber das Datum wird von DepotArrivalRetunDateTime abgerufen.

+0

Vielen Dank. Ich habe stundenlang nach meinem Fehler gesucht - manchmal ist es so einfach ... – Doppelmoep

+0

Sie brauchen Urlaub. –

-1

Das Problem kann auf das Format von DATE in diesen verschiedenen Tabellen oder Datenbanken bezogen werden, da der 7. Juni auch Dienstag war.

Ich meine, ein Datensatz ist konfiguriert, um MM/DD und der andere ist DD/MM.

+0

Datetime-Felder in jedem RDBMS, das ich je benutzt habe (mehrere), werden nicht mit Formatierung gespeichert. –

Verwandte Themen