C# 如何在(.NET)中将datetimepicker值设置为仅日期
我的表单上有DateTimePicker,在运行以下代码时,我将自定义格式属性的值设置为“dd/MM/yyyy”ant:C# 如何在(.NET)中将datetimepicker值设置为仅日期,c#,.net,C#,.net,我的表单上有DateTimePicker,在运行以下代码时,我将自定义格式属性的值设置为“dd/MM/yyyy”ant: MessageBox.Show(dateTimePicker1.Value.ToString()) 我得到这个值:“3/26/2010 1:26 PM” 如何从值中删除时间部分 我知道我们可以用这种方法 dateTimePicker1.Value.ToShortDateString(); 但是我想将value属性设置为这种格式“dd/MM/yyyy”,因此输出将是这样的“2
MessageBox.Show(dateTimePicker1.Value.ToString())代码>
我得到这个值:“3/26/2010 1:26 PM”
如何从值中删除时间部分
我知道我们可以用这种方法
dateTimePicker1.Value.ToShortDateString();
但是我想将value属性设置为这种格式“dd/MM/yyyy”,因此输出将是这样的“26/3/2010”,因为我想将值存储在我的DB(SQL)中
我如何做到这一点?使用dateTimePicker1.Value.Date
获取此DateTime值的日期部分
但是请注意,如果您想解析为字符串,那么使用dateTimePicker1.Value.Date.ToString
将得到“26/03/2010 00:00:00”字符串,而使用类似MyString=CStr(dateTimePicker1.Value.Date)
的东西将导致MyString成为“26/03/2010”。MessageBox.Show(dateTimePicker1.Value.ToString(“dd/MM/yyyy”);
我假设您使用当前日期和时间初始化了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");
如果数据类型为DateTime:
dateTimePicker1.Value.Date;
两者都将以dd/mm/yyyy格式返回日期,不带时间。dateTimePicker1.Value.ToString(“dd-mm-yyyy”)
这应该行得通我想这样做:datetimepicker.value=26/03/2010有什么办法吗?datetimepicker.value=new DateTime(2010,3,26);或者datetimepicker.value=Convert.ToDateTime(“26/03/2010”);使用ParseExact,如下所示。用程序中的任何字符串变量替换第一个参数中的日期字符串。DateTime dtResult=DateTime.ParseExact(“26/03/2010”,“d/M/yyyy”,CultureInfo.InvariantCulture);有关更多信息,请参见此处,这取决于区域性,不被视为最佳做法,因为此格式包含在方法.toSortDateString()中
如果要在数据库中存储System.DateTime
的日期部分,为什么要将格式化字符串放入数据库?…而不是使用dateTimePicker1.Value.date
然后将其存储在列中(可能是DateTime或date,只要数据库允许)也许您可以解释这是如何回答OPs问题的?另外-如果用户的机器上有不同的文化,会发生什么情况?虽然此代码可能会回答此问题,但提供有关为什么和/或如何回答此问题的附加上下文将显著提高其长期价值。请您的回答添加一些解释。@JasonMc92谢谢,我是stackoverflow新手。我添加了一些解释。欢迎使用SO!请在您的问题和答案中使用可用的格式选项。尝试一下,然后给出您的答案。