我正在用C#编写一个应用程序。
如何从DateTimePicker
控件中仅获取日期值?
我正在用C#编写一个应用程序。
如何从DateTimePicker
控件中仅获取日期值?
我假设您是指在WinForms应用程序中使用日期时间选择器。
在您的代码中,您可以执行以下操作:
string theDate = dateTimePicker1.Value.ToShortDateString();
或者,如果您希望指定日期的格式:
string theDate = dateTimePicker1.Value.ToString("yyyy-MM-dd");
DateTime dt = this.dateTimePicker1.Value.Date;
在将日期数据插入数据库时,我遇到了这个问题,您可以简单地分别使用结构成员:
在我的情况下,这很有用,因为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();
在WinForms中,除了Vivek所说的设置DateTimePicker 格式属性外,我们还可以设置自定义格式,这样可以在DateTimePicker内以指定的格式字符串显示日期/时间,然后,就像从TextBox获取文本一样简单。
// Set the Format type and the CustomFormat string.
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "yyyy/MM/dd";
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);
}
yyyy/dd/MM
,而不是yyyy/dd/mm
。 - Gray Programmerz试试这个
var store = dtpDateTimePicker.Value.Date;
store 可以是任何实体对象等。
很简单,喜欢它
string fecha = dtFecha.Value.ToString("yyyy/MM/dd");
@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());
}
Datum = DateTime.Parse(DateTimePicker1.Value.ToString("dd/MM/yyyy"))