如何从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";
我们现在只能通过从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;
商店可以是任何实体对象等