将 DateTime.Now 与 SQL Server 的开始时间和结束时间进行比较
Posted
技术标签:
【中文标题】将 DateTime.Now 与 SQL Server 的开始时间和结束时间进行比较【英文标题】:Comparing DateTime.Now to a Start and End time from SQL Server 【发布时间】:2016-08-17 14:19:08 【问题描述】:我已经为此苦苦挣扎了好几个小时,并且确信有一个简单的解释。
我有一个 SQL Server 表,其中包含 DayOfWeek
(DateTime
)、StartTime
(Time
)、EndTime
(Time
) 列。
我正在尝试编写一个 lambda 选择来获取所有行,其中DateTime.Now
与DayOfWeek
相同,大于StartTime
且小于EndTime
。
我认为我必须将 SQL Server 类型 Time
用作 C# Timespan
,但我只是做错了。
我已尝试按照此处 (Datetime.now as TimeSpan value?) 的说明进行操作,但无济于事。
我的代码行是:
context.DayAndTimeModifiers
.Where(x => x.IsActive && (int)d.DayOfWeek == x.DayOfWeek
&& d.??? > x.StartTime
&& d.??? < x.EndTime)
非常感谢任何帮助。
【问题讨论】:
d 是 DateTime.Now。很抱歉有任何困惑 【参考方案1】:我不知道我是怎么错过的,DateTime.Now.TimeOfDay 正是我所需要的。 这是调整后的代码行...
var d = DateTime.Now;
return context.DayAndTimeModifiers
.Where(x => x.IsActive && (int)d.DayOfWeek == x.DayOfWeek &&
d.TimeOfDay > x.StartTime && d.TimeOfDay < x.EndTime).ToList();
【讨论】:
以上是关于将 DateTime.Now 与 SQL Server 的开始时间和结束时间进行比较的主要内容,如果未能解决你的问题,请参考以下文章
django 1.4 timezone.now() 与 datetime.datetime.now()
DateTime.Now 与 DateTime.UtcNow
DateTime.Now 和DateTime.UtcNow的区别