以下是代码:
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" ,其中每个左侧填充空格的月份和日期,而控制台输出显示预期值" 832016" 即可。
问题在于,无论我们提供何种格式,我们都会看到月份和日期的意外填充,例如:
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern
答案 0 :(得分:3)
DateTimePicker
控件正试图提供帮助,让您使用键盘而不是下拉列表手动输入日期。如果数字显示没有空格,则日期将不明确。例如,这指的是什么日期:
1232016
是December 3, 2016
还是January 23, 2016
?所以空间是必需的。您最好的选择是将日期和月份值设为前导零:
dtpStart.CustomFormat = "MMddyyyy";