[英]Where does CultureInfo data come from?
当我为en-CA创建文化信息对象( new CultureInfo("en-CA")
)时,在生产环境中和开发环境中得到的ShortDatePattern
不同。
我没有访问生产服务器的权限,那么我只是假设填充对象的信息来自区域设置。
我尝试将开发区域设置更改为针对en-CA具有不同的ShortDatePattern
,但我仍收到"MM/dd/yyyy"
而不是"yyyy-MM-dd"
此配置来自何处?我的本地环境与为同一CultureInfo返回不同的ShortDatePattern
的生产环境之间可能有什么区别?
码:
var someDate = DateTime.now;
var cultureInfo = new CultureInfo("en-CA");
var formatedDate = someDate.ToString(cultureInfo.DateTimeFormat.ShortDatePattern);
这是机器文化,要在您的应用上强制使用文化,您必须将其添加到Web配置或应用配置中
要为所有页面设置UI文化,请在Web.config文件中添加一个全球化部分,然后设置uiculture和文化属性,如以下示例所示:
<globalization uiCulture="en-CA" culture="en-CA" />
这是MSDN来源
这是因为默认情况下CultureInfo
构造函数使用自定义的用户配置。 使用需要额外的bool
参数useUserOverride
的构造函数,并传递false
。
从文档中
useUserOverride
一个布尔值,指示是使用用户选择的区域性设置(true)还是使用默认区域性设置(false)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.