【问题标题】:Comparing DateTime.Now to a Start and End time from SQL Server将 DateTime.Now 与 SQL Server 的开始时间和结束时间进行比较
【发布时间】:2016-08-17 14:19:08
【问题描述】:

我已经为此苦苦挣扎了好几个小时,并且确信有一个简单的解释。

我有一个 SQL Server 表,其中包含 DayOfWeek (DateTime)、StartTime (Time)、EndTime (Time) 列。

我正在尝试编写一个 lambda 选择来获取所有行,其中DateTime.NowDayOfWeek 相同,大于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。很抱歉有任何困惑

标签: c# sql-server datetime


【解决方案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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多