如何仅从Windows窗体DateTimePicker控件中获取日期值?


Answers:


127

我假设您的意思是Winforms应用程序中的日期时间选择器。

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

string theDate = dateTimePicker1.Value.ToShortDateString();

或者,如果您想指定日期格式:

string theDate = dateTimePicker1.Value.ToString("yyyy-MM-dd");

3
因此,我使用yyyy-mm-dd而不是yyyy-MM-dd,并且正在努力为什么每次尝试获取日期时都会得到一个随机月份:D
schar


9

在将日期数据插入数据库时​​,我遇到了这个问题,您可以简单地单独使用struct成员:就我而言,这很有用,因为sql语句需要具有正确的值,而您只需添加斜杠或破折号即可完成格式,无需转换。

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

这样一来,您只需要时间即可获得约会成员...




1

在此问题已经得到很好的回答之后,在WinForms中,我们还可以像Vivek所说的那样将Custom Format设置为DateTimePicker Format属性,这使我们可以在DateTimePicker内以指定的格式字符串显示日期/时间,然后,就像我们从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的受支持的字符串文字格式有关。您不能以格式字符串ydm插入日期,因为它不受支持:

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);
   }

上面的代码以以下异常结尾: 在此处输入图片说明

意识到。干杯。




-1
Datum = DateTime.Parse(DateTimePicker1.Value.ToString("dd/MM/yyyy"))
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.