2010-12-15 30 views
0

我有一臺機器上推出了兩款應用(網站和桌面應用程序),無論使用以下序列化DateTime對象的值:.NET:日期時間設置不同的一臺機器上

string strDateTileFullFormat = Thread.CurrentThread.CurrentCulture 
    .GetConsoleFallbackUICulture().DateTimeFormat.FullDateTimePattern; 

string SummarySupporyUntil = string.Concat("until ", 
    TestLicenseExpiryDate.ToString(strDateTileFullFormat)); 

一個應用程序創建: 「週六,2011年12月31日12:00:00 AM」, 另: 「2011年12月31日12:00:00 AM」

不同的是,一個用 「加拿大」 鄉土風情,另 - 「美國」。

問題是我需要這些日期是相似的(實際上,我不知道哪一種是正確的,也許是第一個)。

我查看了web/app.config文件,但沒有看到與區域設置相關的任何內容。另外,我沒有CurrentCulture的手動更改...

請指教。謝謝!

+0

序列化格式本身是否有任何標準格式的日期時間(例如與XML例如)?如果是這樣,那麼解決這種格式可能是一個好主意。如果不是,請考慮使用其他標準,而不是本地格式,例如[ISO-8601](http://en.wikipedia.org/wiki/ISO_8601)。 – 2010-12-15 21:43:32

回答

0

一旦你決定哪些文化最適合你,你可以使用的System.DateTime強大的格式設置功能,如DOC指出:有固定的文化DateTime.ToString Method

例如與EN-US區域性(1033):

string SummarySupporyUntil = string.Concat("until ", 
    TestLicenseExpiryDate.ToString(strDateTileFullFormat, new Culture(1033))); 

在每臺機器上都會得到相同的結果。

相關問題