[英]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
M/d/yyyy
(例如3/14/2012) dd/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' />
然后,假設瀏覽器已正確配置為傳遞首選語言環境,處理請求的工作線程將正確設置其CurrentCulture
和CurrentUICulture
。
任何與語言環境相關的操作(包括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.