asp.net MVC 3 - 日期时间 C# MVC 的时间

本文关键字:时间 MVC 日期 net asp | 更新日期: 2023-09-27 17:55:37

>我正在尝试将存储为字符串的 24 小时时间格式与当前时间进行比较,如下所示

    [AllowAnonymous]
    public ActionResult _ProgOn()
    {
        int i = (int)DateTime.Now.DayOfWeek;
        DateTime dt = DateTime.Now;
        var onNow = db.Programs
         .Where(u => u.PrOk == true)
         .Where(u => u.DaId == i)
         .Where(u => u.TimeOn == dt.ToString("HH:mm")); 
        return PartialView(onNow);

但这似乎是 Linq 查询无法接受的。 如果我被指出正确的方向,我将不胜感激。

asp.net MVC 3 - 日期时间 C# MVC 的时间

将时间字符串传递给 Linq 查询:

    int i = (int)DateTime.Now.DayOfWeek;
    string time = DateTime.Now.ToString("HH:mm");
    var onNow = from u in db.Programs
                where u.PrOk &&
                      u.DaId == i &&
                      u.TimeOn == time
                select u;
    return PartialView(onNow);

此外,您不需要将布尔值与真/假进行比较。我认为查询语法在这里看起来更好。

Linq只能使用它能翻译的内容。 尝试将DateTime转换为string,然后进行比较:

[AllowAnonymous]
public ActionResult _ProgOn()
{
    string t =  dt.ToString("HH:mm");
    int i = (int)DateTime.Now.DayOfWeek;
    DateTime dt = DateTime.Now;
    var onNow = db.Programs
     .Where(u => u.PrOk == true)
     .Where(u => u.DaId == i)
     .Where(u => u.TimeOn == t); 
    return PartialView(onNow);