.NET System.Windows.Forms DateTimePicker 自定义格式不正确
.NET System.Windows.Forms DateTimePicker CustomFormat incorrect
代码如下:
DateTime dt = new DateTime( 2016, 8, 3);
dtpStart.Format = DateTimePickerFormat.Custom;
dtpStart.CustomFormat = "Mdyyyy"; //format;
dtpStart.Value = dt;
string s = String.Format( "{0:Mdyyyy}", dt );
System.Console.Write( s );
在 DateTimePicker (dtpStart) 中,我看到 " 8 32016",其中每个月和日 左填充 space ,而控制台输出显示预期值 "832016"。
问题是无论我们提供何种格式,我们都会看到月份和日期的意外填充,例如:
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern
DateTimePicker
控件正在努力提供帮助,让您可以使用键盘而不是下拉菜单手动输入日期。如果数字显示时没有空格,则日期将不明确。例如,这是指什么日期:
1232016
是December 3, 2016
还是January 23, 2016
?所以空格是必须的。最好的办法是给日值和月值一个前导零:
dtpStart.CustomFormat = "MMddyyyy";
代码如下:
DateTime dt = new DateTime( 2016, 8, 3);
dtpStart.Format = DateTimePickerFormat.Custom;
dtpStart.CustomFormat = "Mdyyyy"; //format;
dtpStart.Value = dt;
string s = String.Format( "{0:Mdyyyy}", dt );
System.Console.Write( s );
在 DateTimePicker (dtpStart) 中,我看到 " 8 32016",其中每个月和日 左填充 space ,而控制台输出显示预期值 "832016"。
问题是无论我们提供何种格式,我们都会看到月份和日期的意外填充,例如:
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern
DateTimePicker
控件正在努力提供帮助,让您可以使用键盘而不是下拉菜单手动输入日期。如果数字显示时没有空格,则日期将不明确。例如,这是指什么日期:
1232016
是December 3, 2016
还是January 23, 2016
?所以空格是必须的。最好的办法是给日值和月值一个前导零:
dtpStart.CustomFormat = "MMddyyyy";