首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CurrentUICulture.DateTimeFormat在操作系统和.NET版本上是不同的吗?

CurrentUICulture.DateTimeFormat在操作系统和.NET版本上是不同的吗?
EN

Stack Overflow用户
提问于 2015-06-19 18:50:15
回答 1查看 721关注 0票数 2

我在两台不同的PC上运行了以下代码

代码语言:javascript
复制
string info = string.Format("CLR Ver. {0}, Culture Name: {1},  ShortDatePattern: {2}", Environment.Version, Thread.CurrentThread.CurrentUICulture.DisplayName, Thread.CurrentThread.CurrentUICulture.DateTimeFormat.ShortDatePattern);

在Windows 2008 R2上使用.NET 3.5,这是info的值

CLR Ver。2.0.50727.5485,文化名称:英语(加拿大),ShortDatePattern: dd/MM/yyyy

但是,在Windows 2012中,.NET 4.5的值是

CLR Ver。4.0.30319.34209,文化名称:英语(加拿大),ShortDatePattern: yyyy

我想知道为什么CurrentUICulture.DateTimeFormat依赖于.NET版本??这是.NET4.5中的一个重大变化吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-19 18:53:24

en-CA的默认短日期格式已更改为.NET 4.0,这是正确的.你可以自己测试一下:

代码语言:javascript
复制
Console.WriteLine(new CultureInfo("en-CA").DateTimeFormat.ShortDatePattern);

运行在.NET 2运行时(Framework2.0/3.x)将给出"dd/MM/yyyy"。运行在.NET 4运行时(Framework4.x)将给出"yyyy-MM-dd"

这在MSDN文档:全球化与本土化的新进展中进行了描述。示例表中列出了一些区域性,但还有许多其他区域性也进行了更新,包括en-CA

此外,您可能希望检查windows控制面板中的日期/时间设置。有可能这台机器的一个设置已经被定制了。这将传递到当前区域性的格式设置。

此外,日期/时间格式的更改将通过CurrentCulture进行。CurrentUICulture用于通过.resx文件查找资源字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30945293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档