.NET:一台机器上的日期时间设置不同

发布于 2024-10-08 04:03:37 字数 637 浏览 5 评论 0原文

我在一台计算机上启动了两个应用程序(网站和桌面应用程序),两个应用程序都使用以下内容来序列化 DateTime 对象值:

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

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

一个应用程序创建: “2011 年 12 月 31 日星期六上午 12:00:00”, 其他: “2011 年 12 月 31 日 12:00:00 AM”的

区别在于,一个使用“加拿大”国家/地区设置,另一个使用“美国”。

问题是我需要这些日期相似(实际上,我不知道哪一种是正确的,也许是第一个)。

我查看了 web/app.config 文件,但没有看到任何与区域设置相关的内容。另外,我没有对 CurrentCulture 进行手动更改...

请告知。谢谢!

I have two applications (web site and desktop application) launched on the one machine, both uses the following to serialize DateTime object value:

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

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

One application create:
"Saturday, December 31, 2011 12:00:00 AM",
another:
"December 31, 2011 12:00:00 AM"

Difference is that one uses "Canada" country setting, another - "USA".

The problem is that I need these date to be similar (actually, I don't know which kind is correct, perhaps the 1st one).

I looked web/app.config files but don't see anything related to locale settings. Also, I don't have manual changes for CurrentCulture...

Please advise. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝天白云 2024-10-15 04:03:37

一旦确定了哪种文化最适合您,您就可以使用 System.DateTime 强大的格式化功能,如文档中所述:DateTime.ToString 方法

例如,使用 en-US 区域性 (1033):

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

将在运行的每台计算机上给出相同的结果。

Once you have decided which culture suits you best, you can use System.DateTime's powerful formatting features as stated in the doc: DateTime.ToString Method with a fixed culture:

For example with en-US culture (1033):

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

will give the same result on every machine it will be ran.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文