2010-02-10 28 views
5
<%= Html.ActionLink(Html.Encode("user3"), 
    "Filter", new { controller = "Search", 
    userName = "user3", 
    dateFrom = DateTime.Now.AddDays(-2).ToString(), 
    dateTo = DateTime.Now.ToString() })%> 

它評估此鏈接:ASP.NET MVC 2測試版:DateTime轉換。錯誤與否?

http://localhost:60357/Search/Filter?userName=user3&dateFrom=08.02.2010%2023%3A21%3A33&dateTo=10.02.2010%2023%3A21%3A33 

我注意到,在Windows當前全球化設置都設置爲歐洲日期格式。所以08.02.2010 = 08二月2010.

但在操作方法

public ActionResult Filter(String userName, DateTime dateFrom, DateTime dateTo) 

dateFrom有2010年8月2日= 2010年8月2日

這是不正確的值。它是框架錯誤?那麼解決這個問題的最好方法是什麼?如果可能,我不想寫一些monkeypatch。

+1

+1'monkeypatch'。 – womp 2010-02-10 21:39:04

回答

5

請勿使用DateTime.Now.ToString()。使用DateTime.Now.ToString("s")(ISO 8601格式 - yyyy-MM-ddTHH:mm:ss)只有一種可能的解釋方法,所以從不錯 - 至少,直到開始處理時區爲止! (考慮"u"的格式。)

+0

你絕對是對的!謝謝! – Overdose 2010-02-10 21:56:02

相關問題