我有一个DateTime
选择器用于添加到列表的到达时间,我有两个问题:
- 如何使其显示为日期格式例如
12-Jan-2012
而不是12/01/12
? - 如何使其显示时间在日期后面,而不是当前时间,因为目前它显示的是当前时间。
我的当前代码并不是很高级,就像下面这样:
theVisit.ArrivalTime = DateTimePicker1.Value
我有一个DateTime
选择器用于添加到列表的到达时间,我有两个问题:
12-Jan-2012
而不是12/01/12
?我的当前代码并不是很高级,就像下面这样:
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显示日期时间的方式:
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");
}