78

我正在使用 C# 代码构建一个应用程序。
如何仅从DateTimePicker控件中获取日期值?

4

9 回答 9

137

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

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

string theDate = dateTimePicker1.Value.ToShortDateString();

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

string theDate = dateTimePicker1.Value.ToString("yyyy-MM-dd");
于 2009-07-16T14:58:32.767 回答
49
DateTime dt = this.dateTimePicker1.Value.Date;
于 2009-07-16T14:58:16.603 回答
9

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

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

这样你就可以得到没有时间的约会成员......

于 2012-11-24T02:07:59.290 回答
3
string shortDate = dateTimePicker1.Value.ToShortDateString();
于 2009-07-16T14:59:06.757 回答
2

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

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

日期时间选择器1

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

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

在此处输入图像描述

注意:如果您打算将仅日期数据插入 SQL 中的日期列类型,请参阅与支持的日期字符串文字格式相关的文档。您不能在格式字符串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);
   }

上面的代码以以下异常结束: 在此处输入图像描述

意识到。干杯。

于 2014-01-20T08:09:10.403 回答
1

您的意思是如何在没有时间组件的情况下获取日期?使用DateTimePicker.Value.Date 但您需要根据需要格式化输出。

于 2009-07-16T15:00:54.243 回答
0

@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());
 } 
于 2009-07-16T15:04:05.453 回答
0

试试这个

var store = dtpDateTimePicker.Value.Date;

store 可以是任何实体对象等。

于 2015-03-17T07:49:55.493 回答
-1
Datum = DateTime.Parse(DateTimePicker1.Value.ToString("dd/MM/yyyy"))
于 2015-04-10T16:04:29.527 回答