繁体   English   中英

如何在 (.NET) 中将 datetimepicker 值设置为仅日期

[英]How to set datetimepicker value to only date in (.NET)

我的表单上有 DateTimePicker,当我运行此代码时,我将自定义格式属性的值设置为“dd/MM/yyyy” ant:

MessageBox.Show(dateTimePicker1.Value.ToString());

我得到这个值:“3/26/2010 1:26 PM”。

如何从值中删除时间部分。

我知道我们可以使用这种方法

dateTimePicker1.Value.ToShortDateString();

但我想将 value 属性设置为这种格式"dd/MM/yyyy"所以输出会像这样"26/3/2010" ,因为我想将值存储在我的数据库中 (SQL)

我怎么能做到这一点?

使用dateTimePicker1.Value.Date获取此 DateTime 值的日期部分。

但是请注意,如果您想解析为字符串,则使用dateTimePicker1.Value.Date.ToString将产生“26/03/2010 00:00:00”字符串,而使用类似MyString = CStr(dateTimePicker1.Value.Date)将导致 MyString 为“26/03/2010”。

我假设您使用当前日期和时间初始化了 DateTimePicker:

dateTimePicker1.Value = DateTime.Now;

相反,用当前日期初始化它:

dateTimePicker1.Value = DateTime.Today;

发生的情况如下:

  • 如果用户选择一个日期,那么DateTimePicker.Value属性将始终返回一个没有时间组件的日期,并且DateTime.Kind设置为Unspecified

  • 如果用户未选择日期,则DateTimePicker.Value属性将返回用于初始化DateTimePicker.Value属性的值。 如果你用DateTime.Now初始化它,它会有一个时间组件,并且DateTime.Kind将被设置为Local

如果数据库中有字符串作为数据类型:

  dateTimePicker1.Value.Date.ToString("d");

如果数据类型是日期时间:

  dateTimePicker1.Value.Date;

两者都将以 dd/mm/yyyy 格式返回日期而没有时间。

只是MessageBox.Show(dateTimePicker1.Value.ToString("dd/MM/yyyy"));

dateTimePicker1.Value.ToString("dd-MM-yyyy")

这应该工作

您可以在属性中(在外观下)将 DateTimePicker 格式设置为“短”:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM