繁体   English   中英

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

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

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

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

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

string theDate = dateTimePicker1.Value.ToShortDateString();

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

string theDate = dateTimePicker1.Value.ToString("yyyy-MM-dd");
DateTime dt = this.dateTimePicker1.Value.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 + ");";

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

string shortDate = dateTimePicker1.Value.ToShortDateString();

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

@Shoban看来问题被标记为c#,所以这里是适当的摘录http://msdn.microsoft.com/zh-cn/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中,我们还可以像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);
   }

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

意识到。 干杯。

尝试这个

var store = dtpDateTimePicker.Value.Date;

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM