我有一個VSTO Outlook加載項。此加載項顯示帶有DateTimePicker控件的winforms窗口,它用於選擇一天中的時間。我想設置類似於當前Windows時間格式的時間格式(如從任務欄中的時鐘)。
要做到這一點我用下面的代碼:.net如何以正確的格式顯示時間?
this.dateTimePicker1.Format = DateTimePickerFormat.Custom;
this.dateTimePicker1.CustomFormat = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern;
在Windows區域和語言設置,我在鍵盤和語言的格式和位置和英語有法語。
因此,在我的表格中,我看到的是7:00而不是19:00。
CurrentCulture,CurrentUICulture和InstalledUICulture返回「h:mm tt」短期格式和文化名稱爲en-US。
我的問題是如何確定Windows以法文格式(HH:mm)顯示時間並以此格式在DateTimePicker中顯示時間?
--edit
當我運行以下在單獨的控制檯應用程序代碼
Console.WriteLine(CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern);
Console.WriteLine(CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern);
Console.WriteLine(CultureInfo.CurrentCulture.DateTimeFormat.FullDateTimePattern);
它返回
HH:MM
HH:MM:SS
DDDD d MMMM YYYY HH:MM:SS
在Outlook中添加類似的代碼返回美國格式:
H:毫米TT
H:MM:SS TT
DDDD,MMMM DD,YYYY H:MM:SS TT
的Outlook是設置爲使用默認的Windows語言(英語)。
謝謝,Rich,它的工作原理。有沒有可能顯示時間沒有秒? – 2011-12-23 11:14:06
只是檢查..當你使用你的上述customformat,你也設置 this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom; – 2011-12-23 11:45:07
是的,當我使用customformat設置Format屬性爲Custom時。我已經嘗試過你的解決方案,它的工作原理,但它顯示格式HH:mm:ss的時間。可以隱藏秒嗎? – 2011-12-23 15:32:39