linq查询的Where子句中的时区

时间:2011-05-09 19:20:25

标签: c# linq timezone

我正在编写一个Where子句来过滤日期时间列。

我收到时区偏移量(例如,美国太平洋标准时间为-9.00),我希望过滤最近x天内的所有元素。

这是我到目前为止所拥有的。 UserTimezone是指定用户时区的参数,TheDays是我们要过滤的天数

DateTime TheNow = DateTime.Now;
TheNow = TheNow.AddHours(UserTimezone);

DateTime TheSelectTime = TheNow;

DateTime TheShift = - TheDays * 24;
TheSelectTime = TheSelectTime.AddHours(TheShift);

var TheQuery = from...
               where t.Appoint < TheSelectTime

如果我写t.Appoint.Date&lt;然后,选择Time.Date不会仅根据日期而不是时间来选择。你有什么建议来解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试将x天添加到Appoint,看看它是否超过DateTime.Now。