Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在(.NET)中将datetimepicker值设置为仅日期_C#_.net - Fatal编程技术网

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

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

我的表单上有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”,因为我想将值存储在我的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!请在您的问题和答案中使用可用的格式选项。尝试一下,然后给出您的答案。