日期时间比较之间缺少某些内容

时间:2014-10-16 20:22:57

标签: c# asp.net-mvc razor

这是我的代码:

@if (item.eventinfo != null)
{
    if (item.eventinfo.start_date <= DateTime.Today && item.eventinfo.end_date >= DateTime.Today)
    {
        <div class="event-info>">
            <span style="color: red;"><strong>EVENT HAPPENING NOW</strong> through @item.eventinfo.end_date.ToShortDateString()<br />in stock during events only.</span>
        </div>
    }
    else if (item.eventinfo.start_date > DateTime.Today)
    {
        <div class="event-info>">
            <span style="color: red;"><strong>Next Event</strong>: @item.eventinfo.start_date.ToShortDateString() through @item.eventinfo.end_date.ToShortDateString()<br />in stock during events only.</span>
        </div>
    }
}

今天我的数据库集中有一个事件。 2014-10-16 14:02:36.827

当我运行页面时,我希望现在看到事件发生。但相反,我看到下一个事件:10/16/2014。

我猜这是比较两个日期时间之间的奇怪之处。知道我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

原因是您的开始日期大于Today2014-10-16的日期为Date,时间值为午夜(0:00:00)。

如果您修剪日期,或在模型上将其声明为DateTime而不是{{1}},则应获得所需的结果。