DateTime.DayOfWeek返回错误的一天

时间:2016-07-07 18:11:53

标签: c# linq datetime dayofweek

我创建了一个 LINQ 查询,以获取数据库中日期的DayOfWeek。查询(我试图弄清楚,所以这只是我在 LinqPad 中使用的查询)看起来像这样:

(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的{​​{1}}应为7/6/2016 。我无法弄清问题可能在哪里。我真的很感激任何帮助。

2 个答案:

答案 0 :(得分:3)

您的代码是从CustomerDepartureReturnDateTime获取星期几,但它是从DepotArrivalRetunDateTime获取日期。

答案 1 :(得分:-1)

问题可能与这些不同表格或数据库中的DATE格式有关,因为6月7日也是星期二。

我的意思是,一个数据集配置为MM / DD,另一个是DD / MM。