asp.net mvc:生产服务器上的日期比较失败

时间:2010-01-12 18:12:12

标签: asp.net-mvc datetime

我在视图中进行了简单的比较,看看过去是否有事件:

  <% if (model.EventDate < DateTime.Now)
     { %>
  <td style="color: red;">
  <% }
     else
     { %>
    <td>
  <% } %>

这在我的开发机上运行正常,通过Cassini运行,但在服务器上它似乎是在解读2010年12月1日,而不是1月12日。

我应该如何进行此比较,以确保无论运行时环境如何,它都能正常工作?

更新:EventDate是一个DateTime,来自一个数据库,它有正确的日期:select MONTH(EventDate)返回1,选择DAY(EventDate)返回12.。

3 个答案:

答案 0 :(得分:0)

比较.NET中的两个DateTime实例始终有效。问题在于您设置model.EventDate,也许您正在从字符串中解析它。

答案 1 :(得分:0)

服务器在与开发框不同的文化下运行。这是人们将日期保存为UTC的原因之一。

答案 2 :(得分:0)

作为一种解决方法,您可以尝试将以下内容添加到您的web.config中(它是&lt; system.web&gt;的孩子):

<globalization culture="en-US" />

HTHS,
查尔斯

相关问题