4

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

  1. 我怎样才能让它显示日期,比如12-Jan-2012而不是12/01/12
  2. 我怎样才能让它显示日期之后的时间而不是当前时间,因为这就是显示 atm 的内容。

我当前的代码不是很先进,它只是:

theVisit.ArrivalTime = DateTimePicker1.Value
4

5 回答 5

7

像这样的东西会显示日期和时间:

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");
于 2012-12-04T20:35:20.480 回答
3

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

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "dd-MMM-yyyy  hh:mm:ss";
于 2012-12-04T20:38:41.953 回答
1

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

  1. 标准日期时间格式
  2. 自定义日期时间格式

您可以使用这些来构建日期时间以查看您想要的方式。对于您的示例,您将使用:

DateTimePicker1.Value.ToString("dd-MMM-yyyy hh:mm:ss")
于 2012-12-04T20:38:19.467 回答
0

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

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

于 2012-12-04T20:57:01.240 回答
0

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

if(DatTimePicker1.Text.Equals(" "))
{
     MessageBox.Show("DateTimePicker is empty");
}
于 2018-10-06T00:49:48.457 回答