DateTime选择器C#格式

时间:2012-12-04 20:31:20

标签: c# datetime wpftoolkit

我有一个DateTime选择器可以将到达时间添加到列表中,我有2个问题:

  1. 如何让它显示12-Jan-2012而不是12/01/12
  2. 之类的日期
  3. 如何让它显示日期之后的时间而不是当前时间,就像显示atm的那样。
  4. 我目前的代码并不是很先进:

    theVisit.ArrivalTime = DateTimePicker1.Value
    

5 个答案:

答案 0 :(得分:6)

这样的内容将显示日期和时间:

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");

答案 1 :(得分:3)

要在选择器中以该格式显示,请设置下面的属性

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "dd-MMM-yyyy  hh:mm:ss";

答案 2 :(得分:1)

您正在寻找DateTime格式字符串。在MSDN上有一篇很棒的文章。 有两种类型:

  1. Standard DateTime Formats
  2. Custom DateTime Formats
  3. 您可以使用这些来构建日期时间以查看您希望的结果。 对于您的示例,您将使用:

    DateTimePicker1.Value.ToString("dd-MMM-yyyy hh:mm:ss")
    

答案 3 :(得分:0)

首先,要改变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);

否则它将显示表单创建时的当前时间。

答案 4 :(得分:0)

您可以像这样检查datetimepicker,以检查其是否为空。

if(DatTimePicker1.Text.Equals(" "))
{
     MessageBox.Show("DateTimePicker is empty");
}