【问题标题】:How to check if an object StartDate is within the same current hour如何检查对象 StartDate 是否在同一当前小时内
【发布时间】:2013-12-06 13:32:36
【问题描述】:

我的 razor 视图中有以下代码,我需要显示一个单词“New”,以防对象的 StartDate 等于当前小时(在一小时内添加):-

我尝试了以下方法,但即使刚刚添加了对象,也不会显示 New 一词:-

@if (item.StartDate.Value.Date == DateTime.Today)
{
    @item.StartDate.Value.ToString("h:mm tt")</span>
    <span class="green b"> 
      If (item.StartDate.Value.TimeOfDay.Hours == 
              DateTime.Today.TimeOfDay.Hours)
      {
          New !
      }
    </span>
}

【问题讨论】:

    标签: c# entity-framework asp.net-mvc-4 razor


    【解决方案1】:

    如果你想检查它是否在一小时内,那么以下应该适合你:

    if (DateTime.Now - StartDate < TimeSpan.FromHours(1))
    

    这假定 StartDate 在创建时已设置为 DateTime.Now,而不是 DateTime.Today,因为这样会为您提供一天中的 00:00:00。

    例如:

    <span>@item.StartDate.ToString("h:mm tt")</span>
    @if (DateTime.Now - StartDate < TimeSpan.FromHours(1))
    {
        <span class="green b">
            New !
        </span>
    }
    

    【讨论】:

      【解决方案2】:

      你需要输出HTML:

      If (item.StartDate.Value.TimeOfDay.Hours == DateTime.Today.TimeOfDay.Hours)
      {
          <span class="green b">New !</span>
      }
      

      并摆脱 if 周围的其他 span 标签。

      【讨论】:

        【解决方案3】:
        <span class="green b"> 
        If (item.StartDate.Value.TimeOfDay.Hours == DateTime.Today.TimeOfDay.Hours) 
        {
           @:New !
        }
        </span>
        

        您忘记将@: 添加到您的代码中。您也可以使用&lt;text&gt;&lt;/text&gt;

        一个很好的参考:http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax.aspx

        【讨论】:

          【解决方案4】:

          您需要使用 DateTime.Now 而不是 DateTime.Today。后者将小时、分钟和秒设置为零。也无需调用 TimeOfDay,DateTime.Now.Hour 更简单。

          【讨论】:

          • 奇怪的是其他答案如何忘记了 DateTime.Today 并在您的代码中发现了其他问题:)。虽然,@Silvermind 是对的。如果两个 DateTime 具有相同的 Hour 字段,并不意味着它们在 一小时内。例如,13:59 和 14:01 仅相隔两分钟,但它们的 Hour 字段不同。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-05
          相关资源
          最近更新 更多