ASP.NET MVC 2 Beta:日期时间转换.错误与否?

Ove*_*ose 5 asp.net-mvc datetime

<%= Html.ActionLink(Html.Encode("user3"),
  "Filter", new { controller = "Search",
   userName = "user3", 
   dateFrom = DateTime.Now.AddDays(-2).ToString(), 
   dateTo = DateTime.Now.ToString() })%>
Run Code Online (Sandbox Code Playgroud)

它被评估到这个链接:

http://localhost:60357/Search/Filter?userName=user3&dateFrom=08.02.2010%2023%3A21%3A33&dateTo=10.02.2010%2023%3A21%3A33
Run Code Online (Sandbox Code Playgroud)

我必须注意到,Windows中当前的全球化设置已设置为欧洲日期格式.所以08.02.2010 = 2010年2月8日.

但在动作方法中

public ActionResult Filter(String userName, DateTime dateFrom, DateTime dateTo)
Run Code Online (Sandbox Code Playgroud)

dateFrom的值为02.08.2010 = 2010年8月2日

这是不正确的.是框架错误吗?那么解决这个问题的最佳方法是什么?如果可能的话,我不想写一些monkeypatch.

Cra*_*ntz 5

不要用DateTime.Now.ToString().使用DateTime.Now.ToString("s")(ISO 8601格式 - yyyy-MM-ddTHH:mm:ss)只有一种方法可以解释它,所以它永远不会错 - 至少,直到你开始处理时区!(考虑"u"格式.)