2015-11-19 70 views
0

我試圖找到一種乾淨的方式來格式化日期時間以顯示日期和月份,具體取決於用戶文化。 我預期的結果:
EN-US:MM/DD - > 11/19
DE-DE:dd.MM - > 19.11格式化的月份和日期取決於用戶文化

這是我的作品與目前的解決方案......但有沒有更好的如何做到這一點?

var d = DateTime.Now; 
var dateFormatter = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat; 
return d.ToString(dateFormatter.ShortDatePattern 
    .Replace("y", "") 
    .Trim(dateFormatter.DateSeparator.ToCharArray())); 
+0

您如何瞭解用戶的文化?沒有瀏覽器將此信息發送到服務器,您必須從EPOCH開始以毫秒爲單位傳遞日期,然後使用瀏覽器顯示本地化日期。 –

+0

不知道你如何聲稱_「我目前的解決方案有效」_。它所做的只是根據服務器的文化來格式化日期,而不是客戶端。 –

回答

0

要格式化日期時間依賴於特定的文化,你可以設置當前文化: Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");

,你可以得到更多的信息,請參閱本鏈接樣本: enter link description here

+0

儘管此鏈接可能回答此問題,但最好在此處包含答案的重要部分,並提供供參考的鏈接。否則,如果鏈接的頁面改變,則它可能失效。 –

+0

感謝您的評論。對不起,因爲我是新成員 – Viet

0

我這樣做強制西班牙語:

System.Globalization.CultureInfo esES = new System.Globalization.CultureInfo("es-ES"); 
Convert.ToDateTime(filtroIU.fechaIngresoInicio, esES); 

只要採取目前文化,它應該工作。

CultureInfo culture = CultureInfo.CurrentCulture; 
相關問題