簡體   English   中英

如何將en-US日期更改為en.net的en-GB?

[英]how to change en-US dates to en-GB for asp.net?

在開發者機器上(cassini)

new DateTime(2012,3,14).ToString("d")

結果是

14/03/2012

這是正確的,但當部署到完整的IIS服務器時,結果是

03/14/2012

服務器在控制面板/區域語言中設置為所有英語/英國/ GB,命令提示符中的運行日期返回dd / MM / YYYY格式。

該站點設置為uiCulture="en-GB"culture="en-GB" ,這些顯示在web.config全球化標記中。

我可以通過添加強制文化來解決這個問題

new DateTime(2012,3,14).ToString("d", new CultureInfo("en-GB"));

但我真的想知道什么是錯誤地設置格式。

CultureInfo.CurrentCulture.Name, CultureInfo.CurrentUICulture.Name

都歸還en-US


  • en-USM/d/yyyy (例如3/14/2012)
  • en-GBdd/MM/yyyy (例如14/03/2012)

web.config中的實際值

 <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" uiCulture="en-GB" culture="en-GB" />

我設法通過將其放入web.config來使其工作

<globalization culture="en-GB"/>

在你的web.config添加

<globalization culture='auto' uiCulture='auto' />

然后,假設瀏覽器已正確配置為傳遞首選語言環境,處理請求的工作線程將正確設置其CurrentCultureCurrentUICulture

任何與語言環境相關的操作(包括DateTime格式d )都將使用客戶端的首選項。

MSDN上web.config的全球化元素: https//msdn.microsoft.com/en-us/library/ydkak5b9(v = vs.71).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM