2011-07-14 35 views

回答

6

你可以做,在這種方式

CultureInfo cinfo = CultureInfo.CreateSpecificCulture("en-EN"); 
cinfo.DateTimeFormat.AbbreviatedDayNames = new string[]{"Suns","Mon","Tues", "Weds","Thursday","Fries","Sats"}; 

現在,將這個作爲當前的文化,你應該是好去

1

根據此msdn link AbbreviatedDayNames集合是可讀/寫的,這意味着您可以覆蓋它。然而,因爲它依賴於文化,所以這隻有在設定和使用文化時才能起作用(invariantinfo只讀)。

您可能需要/必須創建一種新的文化用於此目的,但我認爲這是OTT。

2

創建新的用戶可寫的CultureInfo,然後填寫你的價值觀

var dt = DateTime.Now; 
    CultureInfo ci = new CultureInfo(CultureInfo.CurrentCulture.Name, true); // second parameter is useUserOverride 
    Console.WriteLine(dt.ToString("ddd", ci)); 
    ci.DateTimeFormat.AbbreviatedDayNames = new string[] { "D1", "D2", "D3", "D4", "D5", "D6", "D7" }; 
    Console.WriteLine(dt.ToString("ddd", ci)); 
+0

userUserOverride不是允許你在這裏編輯文化的。 useUserOverride告訴.net是否使用標準文化或是否接受用戶通過區域和語言設置進行的任何自定義。雖然向用戶展示時使用用戶覆蓋通常是一個好主意。然而,你不會希望他們爲不變的文化。 –

+0

我的不好,謝謝你注意到這一點 – Ondra