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

Asp.net mvc asp.net mvc:生产服务器上的日期比较失败,asp.net-mvc,datetime,Asp.net Mvc,Datetime,我有一个简单的比较,看看某个事件是否在过去: <% if (model.EventDate < DateTime.Now) { %> <td style="color: red;"> <% } else { %> <td> <% } %> 这在我的开发机器上运行良好,通过Cassini运行,但在服务器上它似乎将2010年12月1日解释为12月1日,而不是1月12日 我应该

我有一个简单的比较,看看某个事件是否在过去:

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

这在我的开发机器上运行良好,通过Cassini运行,但在服务器上它似乎将2010年12月1日解释为12月1日,而不是1月12日

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


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

在.NET中比较两个
DateTime
实例始终有效。问题在于,当您设置
model.EventDate
时,可能是从字符串解析它。

服务器运行的区域性与您的开发设备不同。这就是人们应该将日期保存为的原因之一

作为一种解决方法,您可以尝试将以下内容添加到您的web.config(它是的子项):


HTHs,

查尔斯

所以,这并不是真正的比较。当用户输入EventDate时,它会被解析为DD/MM/YYYY而不是MM/DD/YYYY,对吗?EventDate是一个日期时间,它正确地存储在数据库中:select MONTH(EventDate)返回1,select DAY(EventDate)返回12。您使用什么作为ORM/DAL?换句话说,如何将数据库中的值解析为datetime?
<globalization culture="en-US" />