计算DateTime.Now和C#中的time(7)值之间的差?

时间:2019-02-15 18:09:34

标签: c# linq

我有一个数据库,其中包含员工的时间表,反映他们应该何时进出时钟。例如,当他们打卡时,我想将当前时间与他们计划的时间进行比较。对于我的一生,我似乎无法解决。我正在这样检索预定时间:

if (day=="Friday")
{
    var auth = from d in dc.Dailies
               where d.Number == employee
               select d.FridayStart; ;

}

看起来不错,但我尝试的所有示例都没有。...一个可能的问题似乎是,尽管我将计划时间存储为time(7),但查询似乎将其返​​回为{{1} }的价值,这让我感到困惑。

1 个答案:

答案 0 :(得分:2)

从代码中,您可以做到

if (day=="Friday")
{
    //auth is expected to be an IQueryable, which derives from IEnumerable, 
    //so it could be many results
    var auth = from d in dc.Dailies
               where d.Number == employee
               select d.FridayStart;

    //So, if you're expecting only one result, and guarantee that will be one,
    //you can use .First() or .Single()
    var timeDifference = auth.First() - DateTime.Now.TimeOfDay;    
}