C# DateTimePicker控件用法详解(附带实例)
DateTimePicker 可以翻译为日期时间选择器,图标为:
我们可以利用这个控件选择日期,然后执行更多与日期和时间有关的操作,如设定日历、闹钟或其他操作。
如果没有选择并更改日期,默认显示今天日期。
【实例 1】创建 DateTimePicker 控件,同时显示年、月、日、时、分和秒。
注意,这个程序只是让读者体会 DateTimePicker 控件的 Value 属性,更好的设计是在重新选择日期时,窗体可以同步更新数据。
下列使用短日期和时间格式输出 DateTimePicker 的日期和时间:
【实例 2】创建按钮设定 DateTimePicker 控件对日期和时间有不同输出的格式。
当将 DateTimePicker 对象的 Format 设为 Custom 后,如下所示:
【实例 3】设计含有日期与时间格式的 DateTimePicker。
1) ShowCheckBox 属性:默认是 false,如果设为 true 可以显示复选框:
2) Checked 属性:当 ShowCheckBox 属性是 true 时,可以由此了解是否勾选了复选框。
3) ShowUpDown 属性:默认是 false,代表读者不可以使用右边的上下按钮图标来选择日期。如果是 true,则可以使用上下按钮来选择日期。
4) MaxDate属性:可以选择日期的最晚时间,默认是 12/31/9998 12 am。
5) MinDate属性:可以选择日期的最早时间,默认是 1/1/1753 00:00:00。
【实例 4】重新设计实例 1,当有新选择的日期时,会更新显示。
这个程序在加载和重新选择日期时,会更新显示所选日期的信息。

我们可以利用这个控件选择日期,然后执行更多与日期和时间有关的操作,如设定日历、闹钟或其他操作。

如果没有选择并更改日期,默认显示今天日期。
C# DateTimePicker Value属性
DateTimePicker 控件最重要的属性是 Value,这个属性可以设定日期与时间显示的方式,同时也可以使用这个属性,配合 DateTime 对象属性获得更详细的日期与时间信息,下列是常用的日期与时间信息。int year = dateTimePicker1.Value.Year; // 回传年 int month = dateTimePicker1.Value.Month; // 回传月 int day = dateTimePicker1.Value.Day; // 回传日 int hour = dateTimePicker1.Value.Hour; // 回传时 int minute = dateTimePicker1.Value.Minute; // 回传分 int second = dateTimePicker1.Value.Second; // 回传秒
【实例 1】创建 DateTimePicker 控件,同时显示年、月、日、时、分和秒。

namespace ch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { txtYear.Text = dateTimePicker1.Value.Year.ToString(); txtMonth.Text = dateTimePicker1.Value.Month.ToString(); txtDay.Text = dateTimePicker1.Value.Day.ToString(); txtHour.Text = dateTimePicker1.Value.Hour.ToString(); txtMinute.Text = dateTimePicker1.Value.Minute.ToString(); txtSecond.Text = dateTimePicker1.Value.Second.ToString(); } } }执行结果为:

注意,这个程序只是让读者体会 DateTimePicker 控件的 Value 属性,更好的设计是在重新选择日期时,窗体可以同步更新数据。
C# DateTimePicker Format属性
DateTimePicker 控件有 4 种显示日期和时间的方式:- Long:长日期格式,例如 2025年 6月30日,这是默认项;
- Short:短日期格式,例如 2025/6/30。
- Time:显示时间,例如 下午 03:10:50;
- Custom:可以自行设定输出格式,格式设定可以使用 DateTime 对象。
下列使用短日期和时间格式输出 DateTimePicker 的日期和时间:
// 设置日期时间选择器为短日期格式(例如:2026/6/30) dateTimePicker1.Format = DateTimePickerFormat.Short; // 设置日期时间选择器为时间格式(例如:14:30:00) dateTimePicker1.Format = DateTimePickerFormat.Time;
【实例 2】创建按钮设定 DateTimePicker 控件对日期和时间有不同输出的格式。

namespace ch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // 设置日期时间选择器为短日期格式 private void btnShort_Click(object sender, EventArgs e) { dateTimePicker1.Format = DateTimePickerFormat.Short; } // 设置日期时间选择器为长日期格式 private void btnLong_Click(object sender, EventArgs e) { dateTimePicker1.Format = DateTimePickerFormat.Long; } // 设置日期时间选择器为时间格式 private void btnTime_Click(object sender, EventArgs e) { dateTimePicker1.Format = DateTimePickerFormat.Time; } } }执行结果为:

当将 DateTimePicker 对象的 Format 设为 Custom 后,如下所示:
dateTimePicker1.Format = DateTimePickerFormat.Custom;就可以使用 CustomerFormat 属性搭配设定日期和时间的显示方式,设定自己的日期和时间格式,下列是同时显示日期与时间的语句:
dateTimePicker1.CustomerFormat = “yyyy年MM月dd日hh时mm分ss秒”;
【实例 3】设计含有日期与时间格式的 DateTimePicker。

namespace ch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // 设置日期时间选择器为自定义格式 dateTimePicker1.Format = DateTimePickerFormat.Custom; // 设置自定义格式字符串 dateTimePicker1.CustomFormat = "yyyy年MM月dd日hh时mm分ss秒"; } } }执行结果为:

C# DateTimePicker其他常用的属性
下列是 DateTimePicker 其他常用的属性:1) ShowCheckBox 属性:默认是 false,如果设为 true 可以显示复选框:

2) Checked 属性:当 ShowCheckBox 属性是 true 时,可以由此了解是否勾选了复选框。
3) ShowUpDown 属性:默认是 false,代表读者不可以使用右边的上下按钮图标来选择日期。如果是 true,则可以使用上下按钮来选择日期。

4) MaxDate属性:可以选择日期的最晚时间,默认是 12/31/9998 12 am。
5) MinDate属性:可以选择日期的最早时间,默认是 1/1/1753 00:00:00。
C# DateTimePicker常使用的事件
如果控件的日期和时间改变则会产生 ValueChanged 事件。【实例 4】重新设计实例 1,当有新选择的日期时,会更新显示。
namespace ch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // 日期时间选择器值改变时触发 private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { ShowDate(); // 显示日期信息 } // 显示日期信息的方法 private void ShowDate() { txtYear.Text = dateTimePicker1.Value.Year.ToString(); txtMonth.Text = dateTimePicker1.Value.Month.ToString(); txtDay.Text = dateTimePicker1.Value.Day.ToString(); txtHour.Text = dateTimePicker1.Value.Hour.ToString(); txtMinute.Text = dateTimePicker1.Value.Minute.ToString(); txtSecond.Text = dateTimePicker1.Value.Second.ToString(); } // 窗体加载时触发 private void Form1_Load(object sender, EventArgs e) { ShowDate(); // 显示日期信息 } } }执行结果为:

这个程序在加载和重新选择日期时,会更新显示所选日期的信息。