2010-04-19 64 views
5

我正在將幾個網站轉換爲.net 4.0的過程,而且我似乎遇到了日期的區域性問題。以.net 4.0格式打破日期格式的英文格式

此代碼:

Date.Today.AddDays((Date.Today.DayOfWeek - 1) * -1).ToString() 

在.net 3.5生產:'19/04/2010 00:00:00' 但只要我的應用程序池更改爲4.0它產生:「4/19/2010 12:00:00 AM'

我在哪裏可以更改支配該設置的設置?

+0

爲了澄清,我已經在iis的.Net全球化中將Cultire和UI Culture設置爲en-GB,但它似乎完全忽略了這個設置! – 2010-04-19 10:19:08

+0

你可以發佈你的web.config? – 2010-04-19 11:03:37

+0

我根本沒有在web.config中設置全球化,事實上,添加全球化部分確實解決了該問題,但是我不應該爲自2.0和3.5以後運行的每個站點都執行此操作從來沒有一個問題! – 2010-04-19 13:55:47

回答

2

我不認爲你可以代替儘管試試這個...

Date.Today.AddDays((Date.Today.DayOfWeek - 1) * -1).ToString(dd/MM/yyy hh:mm:ss); 

,你需要它這應該格式化日期。

微軟基本上從零開始重建了相當多的.net 4.0 ......在這樣的一些領域,這是一個痛苦,但在其他領域卻是一個真正的優勢。

我在另一個論壇上發了一個人,這個論壇有一個巨大的項目,上面有成千上萬行代碼,他現在必須去查找並替換他的datetime.tostring語句。

最好的做法一直是,你應該指定格式,否則你會得到任何框架決定。

希望這會有所幫助。