How to get only the date value from a Windows Forms DateTimePicker control?

前端 未结 9 1568
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-30 03:21

I\'m building an application with C# code.
How do I get only the date value from a DateTimePicker control?

9条回答
  •  礼貌的吻别
    2021-01-30 03:26

    Following that this question has been already given a good answer, in WinForms we can also set a Custom Format to the DateTimePicker Format property as Vivek said, this allow us to display the date/time in the specified format string within the DateTimePicker, then, it will be simple just as we do to get text from a TextBox.

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

    dateTimePicker1

    We are now able to get Date only easily by getting the Text from the DateTimePicker:

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

    enter image description here

    NOTE: If you are planning to insert Date only data to a date column type in SQL, see this documentation related to the supported String Literal Formats for date. You can not insert a date in the format string ydm because is not supported:

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

    the above code ends in the following Exception: enter image description here

    Be aware. Cheers.

提交回复
热议问题