DateTime选择器C#格式
我有一个DateTime
选择器来添加到列表的到达时间,我有2个问题:
- 我怎样才能让它显示
12-Jan-2012
而不是12-Jan-2012
的12/01/12
? - 我怎样才能让它显示日期之后的时间而不是当前时间,因为这就是显示atm的内容。
我目前的代码不是很先进,只是:
theVisit.ArrivalTime = DateTimePicker1.Value
这样的东西会显示日期和时间:
DateTimePicker1.Value.ToString("d-MMM-yyyy hh:mm:ss");
要覆盖默认的DateTimePicker设置,您可以执行以下操作:
DateTimePicker1.Format = DateTimePickerFormat.Custom; DateTimePicker1.CustomFormat = "d-MMM-yyyy hh:mm:ss";
您可以通过修改格式字符串来显示不同的时间,例如:
DateTimePicker1.CustomFormat = "d-MMM-yyyy 12:00:00";
甚至
DateTime otherTime = DateTime.Now; DateTimePicker1.CustomFormat = "d-MMM-yyyy " + otherTime.ToString("hh:mm:ss");
要在选择器中以该格式显示,请在下面设置属性
dateTimePicker1.Format = DateTimePickerFormat.Custom; dateTimePicker1.CustomFormat = "dd-MMM-yyyy hh:mm:ss";
您正在寻找DateTime格式字符串。 在MSDN上有一篇很棒的文章。 有两种类型:
- 标准日期时间格式
- 自定义日期时间格式
您可以使用这些来构建日期时间以查看您希望的结果。 对于您的示例,您将使用:
DateTimePicker1.Value.ToString("dd-MMM-yyyy hh:mm:ss")
首先,要改变DateTimePicker显示DateTimes的方式:
DateTimePicker1.CustomFormat = "d-MMM-yyyy hh:mm:ss"; DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
你的代码:
theVisit.ArrivalTime = DateTimePicker1.Value;
不会改变,因为DateTimePicker1.Value
没有任何不同,它只是根据你的格式显示。
如果希望控件显示特定时间(而不是当前时间),则必须为控件提供该值:
DateTimePicker1.Value = new DateTime(2012, 12, 21, 23, 59, 59);
否则,它将显示表单创建时的当前时间。
您可以像这样检查datetimepicker
以检查它是否为空。
if(DatTimePicker1.Text.Equals(" ")) { MessageBox.Show("DateTimePicker is empty"); }