2016-07-07 74 views
0

我創建了一個LINQ查詢以獲取DayOfWeek在我的數據庫中的日期。查詢(我想弄明白,所以這只是我在LinqPad使用查詢)看起來是這樣的:DateTime.DayOfWeek返回錯誤的日期

(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() 

我得到的回報值如下表:

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 

如您所見,返回的DayOfWeek對於7/5/2016Tuesday以及DayOfWeek對於7/6/2016應該是Wednesday。我無法弄清楚問題出在哪裏。我真的很感激任何幫助。

回答

3

您的代碼從CustomerDepartureReturnDateTime獲取星期幾,但它從DepotArrivalRetunDateTime獲取日期。

+0

非常感謝。我在我的錯誤上搜索了幾個小時 - 有時候這很簡單... – Doppelmoep

+0

你需要一個假期。 –

-1

該問題可能與這些不同表格或數據庫中DATE的格式有關,因爲6月7日也是週二。

我的意思是,一個數據集配置爲MM/DD,另一個是DD/MM。

+0

我曾經使用過的每個RDBMS中的日期時間字段(幾個)都沒有用格式存儲。 –