我想使用DataGridView顯示日期和DateTimePicker來實現過濾器。我希望他們都以「G」格式的Standard Date and Time Format顯示日期時間。理想情況下,我只是做.Net獲取DateTimeFormat「G」
dateTimePicker1.CustomFormat = "G";
但這似乎並不奏效。 (它實際上在DateTimePicker中顯示字符「G」。)我發現了以下解決方法,但對我而言看起來很脆弱和麻煩。
DateTime now = DateTime.Now;
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns('G')[0];
dateTimePicker1.Value = now;
dataGridView.Rows.Add(now);
任何改進建議?
編輯:添加了我設置dateTimePicker1.Format。
'formatInfo.ShortDatePattern +「」+ formatInfo.LongTimePattern'對於他已經擁有和聲明的'formatInfo.GetAllDateTimePatterns('G')[0]'沒有多大的意義。 –
@JeppeStigNielsen:嗯,這是一個選擇。它也許更有效率,但這不太可能相關。 –
我最終堅持使用原來的解決方案。我很欣賞MSDN和其他替代解決方案的鏈接。我沒有在自己的搜索中找到任何關於[G]被正式定義爲[DateTime.ToString()]的默認值的內容(http://msdn.microsoft.com/zh-cn/library/ zdtaw1bw.aspx)。 –