如何从Windows窗体DateTimePicker控件只获取date值?

我正在用C#代码构build一个应用程序。
如何从DateTimePicker控件获取date值?

我假设你的意思是在WinForms应用程序中的date时间select器。

在您的代码中,您可以执行以下操作:

 string theDate = dateTimePicker1.Value.ToShortDateString(); 

或者,如果您想指定date的格式:

 string theDate = dateTimePicker1.Value.ToString("yyyy-MM-dd"); 
 DateTime dt = this.dateTimePicker1.Value.Date; 

在将date数据插入数据库时​​,我遇到了这个问题,您可以简单地分别使用struct成员:在我的情况下,这很有用,因为sql语句需要具有正确的值,而您只需添加斜线或短划线即可完成格式,不需要转换。

 DateTimePicker dtp = new DateTimePicker(); String sql = "insert into table values(" + dtp.Value.Date.Year + "/" + dtp.Value.Date.Month + "/" + dtp.Value.Date.Day + ");"; 

这样你就可以没有时间得到date成员…

 string shortDate = dateTimePicker1.Value.ToShortDateString(); 

你的意思是如何得到没有时间组件的date? 使用DateTimePicker.Value.Date但是你需要格式化输出到你的需要。

@Shoban它看起来像问号标签的C#所以这里是适当的剪切http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.value.aspx

 public MyClass() { // Create a new DateTimePicker DateTimePicker dateTimePicker1 = new DateTimePicker(); Controls.Add(dateTimePicker1); MessageBox.Show(dateTimePicker1.Value.ToString()); dateTimePicker1.Value = DateTime.Now.AddDays(1); MessageBox.Show(dateTimePicker1.Value.ToString()); } 

之后,这个问题已经给出了一个很好的答案,在WinForms中,我们也可以设置一个自定义格式为DateTimePicker 格式属性,如Vivek所说的,这允许我们在DateTimePicker中以指定的格式string显示date/时间,就像我们从TextBox获取文本一样简单。

 // Set the Format type and the CustomFormat string. dateTimePicker1.Format = DateTimePickerFormat.Custom; dateTimePicker1.CustomFormat = "yyyy/MM/dd"; 

dateTimePicker1

我们现在只能通过从DateTimePicker获取文本来轻松获取Date:

 MessageBox.Show("Selected Date: " + dateTimePicker1.Text, "DateTimePicker", MessageBoxButtons.OK, MessageBoxIcon.Information); 

在这里输入图像说明

注:如果您打算在SQL中将date唯一数据插入到date列types中,请参阅与date支持的string文字格式相关的本文档 。 您不能在格式stringydm中插入date,因为不受支持:

 dateTimePicker1.CustomFormat = "yyyy/dd/MM"; var qr = "INSERT INTO tbl VALUES (@dtp)"; using (var insertCommand = new SqlCommand.. { try { insertCommand.Parameters.AddWithValue("@dtp", dateTimePicker1.Text); con.Open(); insertCommand.ExecuteScalar(); } catch (Exception ex) { MessageBox.Show("Exception message: " + ex.Message, "DateTimePicker", MessageBoxButtons.OK, MessageBoxIcon.Error); } 

上面的代码以下面的exception结束: 在这里输入图像说明

意识到。 干杯。

 Datum = DateTime.Parse(DateTimePicker1.Value.ToString("dd/MM/yyyy")) 

尝试这个

 var store = dtpDateTimePicker.Value.Date; 

商店可以是任何实体对象等