[英]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.