我正在使用C#代码构建应用程序。
如何仅从DateTimePicker
控件中获取日期值?
Answers:
在将日期数据插入数据库时,我遇到了这个问题,您可以简单地单独使用struct成员:就我而言,这很有用,因为sql语句需要具有正确的值,而您只需添加斜杠或破折号即可完成格式,无需转换。
DateTimePicker dtp = new DateTimePicker();
String sql = "insert into table values(" + dtp.Value.Date.Year + "/" +
dtp.Value.Date.Month + "/" + dtp.Value.Date.Day + ");";
这样一来,您只需要时间即可获得约会成员...
您的意思是如何在没有时间成分的情况下获取日期?使用DateTimePicker.Value.Date 但是您需要根据需要格式化输出。
在此问题已经得到很好的回答之后,在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";
现在,我们只能通过从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);
}
上面的代码以以下异常结尾:
意识到。干杯。
@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());
}
尝试这个
var store = dtpDateTimePicker.Value.Date;
store可以是任何实体对象等。