在ASP.NET應用程序中,我將文化設置爲lv-LV。一切都很好,但默認的短日期格式似乎是「yyyy.mm.dd」。客戶希望它是「dd.mm.yyyy」(這實際上是LV標準)。 ASP.NET如何獲取特定文化的日期/時間設置?他們如何改變單一文化,而不影響其他文化(應用程序應該是本地化的)?ASP.NET從哪裏獲取其文化設置?
0
A
回答
3
我曾經有一個類似的問題,並解決它:
DateTimeFormatInfo dtfi = (DateTimeFormatInfo)Thread.CurrentThread.CurrentCulture.DateTimeFormat.Clone();
dtfi.ShortDatePattern = "dd.MM.yyyy";
dtfi.DateSeparator = ".";
Thread.CurrentThread.CurrentCulture.DateTimeFormat = dtfi ;
Thread.CurrentThread.CurrentUICulture.DateTimeFormat = dtfi;
這樣,你得到保持所有其他區域設置不同的日期格式。
該代碼實際上在我們的頁面基類中的OnLoad上運行。我不太確定這是最好的方法。
0
.Net從DateTimeFormatInfo類中獲取特定文化的日期/時間設置。您可以使用您修改的DateTimeFormatInfo來設置CultureInfo的DateTimeFormat屬性。如果這種文化是當前的文化,那麼你可以在CurrentCulture上設置它。無論哪種方式,這隻會影響您創建的CultureInfo,並且不會影響任何其他文化。 (任何對CultureInfo.GetCultureInfo(「lv-LV」)的調用都不會選擇這些更改,因爲這是一個只讀副本。)您不一定必須將CultureInfo傳遞給任何DateTime格式化方法(ToString,ParseExact ) - 您可以傳遞顯式模式或DateTimeFormatInfo。
CultureInfo lvLV = new CultureInfo("lv-LV");
DateTimeFormatInfo lvLVdtfi = (DateTimeFormatInfo) lvLV.DateTimeFormat.Clone();
lvLVdtfi.ShortDatePattern = "dd.MM.yyyy";
lvLV.DateTimeFormat = lvLVdtfi;
DateTime.Now.ToString("d", lvLV); // short date pattern from modified lv-LV CultureInfo
DateTime.Now.ToString("d", lvLVdtfi); // short date pattern from modified DateTimeFormatInfo
DateTime.Now.ToString("dd.MM.yyyy"); // explicit short date pattern
如果LV-LV是當前的Windows文化,那麼你可以設置一個用戶覆蓋(使用intl.cpl區域和語言選項控制面板和自定義格式)和框架會挑這件事。
相關問題
- 1. System.EventArgs從哪裏獲取其值?
- 2. asp.net mvc在哪裏設置默認文化?
- 3. ASP.Net從哪裏獲取其呈現的ID?
- 4. 哪裏日期時間從asp.net獲取其數據/ C#
- 5. ASP.NET開發服務器從哪裏獲取其圖像?
- 6. rJava從哪裏獲取JDK的位置?
- 7. CultureInfo.CurrentCulture從哪裏讀取文化
- 8. WCF測試客戶端從哪裏獲取其配置?
- 9. Firefox和Chrome(等)從哪裏獲取其地理位置數據?
- 10. xmlHttp.responseText從哪裏獲取文本?
- 11. ScriptResource.axd從哪裏獲取Javascript文件?
- 12. Android DataBinding從哪裏獲取上下文?
- 13. Magento從哪裏獲取HTML?
- 14. Websphere從哪裏獲取WSDL?
- 15. 從哪裏獲取TwitterCore?
- 16. 我如何知道log4net認爲它是從哪裏獲取其配置文件?
- 17. 哪裏(設置)IN(設置)
- 18. ConfigurationManager ConnectionStrings在哪裏獲取其值?
- 19. 從哪裏可以從Android獲取R.id.container?
- 20. JavaScript從哪裏獲取新日期()從
- 21. ASP.Net配置頁在哪裏?
- 22. 如果沒有加載配置文件,PHP在哪裏獲取它的設置?
- 23. 爲asp.net RangeValidator設置文化
- 24. ASP.NET設置文化與InitializeCulture
- 25. .NET ApplicationSettings - 它從哪裏加載設置?
- 26. NHibernate數字格式問題 - 我在哪裏設置文化?
- 27. 在哪裏編輯崇高的文字js美化設置?
- 28. 在MVC設置中,應該在哪裏格式化文本?
- 29. IIS Express從哪裏獲取其默認applicationhost.config?
- 30. 派生自CustomControl的類從哪裏獲取其資源?
這樣的事情也在我腦海中浮現。不過這似乎有點......錯了。 :D我不喜歡硬編碼。也許有一些系統註冊表鍵需要改變該文化或什麼的? – 2009-06-10 14:17:56