2010-12-15 44 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))); 

在每台机器上都会得到相同的结果。

相关问题