![](/img/trans.png)
[英]How to get only the date value from a Windows Forms DateTimePicker control?
[英]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.