CultureInfo数据来自哪里?

时间:2016-12-02 12:45:19

标签: c# .net

当我为 en-CA 创建文化信息对象时(     new CultureInfo("en-CA"))我的生产环境中的ShortDatePattern与我的开发环境中的ShortDatePattern不同。

我无法访问生产服务器,我只是假设填充对象的信息来自区域设置。

我尝试更改我的开发区域设置,以便为 en-CA 设置不同的"MM/dd/yyyy",但我仍然获得"yyyy-MM-dd"而不是ShortDatePattern < / p>

此配置来自何处以及我的本地环境与为同一CultureInfo返回不同var someDate = DateTime.now; var cultureInfo = new CultureInfo("en-CA"); var formatedDate = someDate.ToString(cultureInfo.DateTimeFormat.ShortDatePattern); 的生产环境之间的区别?

代码:

pod 'GoogleMaps', '~> 2.0'

2 个答案:

答案 0 :(得分:0)

它是机器文化,为了强制你的应用程序的文化,你必须在web配置或应用程序配置中添加它

  

要为所有页面设置UI文化和文化,请将全球化部分添加到Web.config文件,然后设置uiculture和culture属性,如以下示例所示:

<globalization uiCulture="en-CA" culture="en-CA" />

这是MSDN Source

答案 1 :(得分:0)

这是因为CultureInfo构造函数默认使用自定义用户配置。使用额外bool参数useUserOverride并传递false的构造函数。

来自documentation

  

<强> useUserOverride

     

一个布尔值,表示是否使用用户选择的区域性设置(true)或默认区域性设置(false)。