情况如下:
我有两个 DateTimePicker 控件用于日志查看器中的开始日期和结束日期。我希望开始日期是用户选择的任何日期,但时间为 00:00:00。结束时间是用户选择的日期,但时间是 23:59:59.999。
(我还将编写代码以确保结束日期等于或大于开始日期,但我可以处理)
实现这一点的最佳方法是什么?
情况如下:
我有两个 DateTimePicker 控件用于日志查看器中的开始日期和结束日期。我希望开始日期是用户选择的任何日期,但时间为 00:00:00。结束时间是用户选择的日期,但时间是 23:59:59.999。
(我还将编写代码以确保结束日期等于或大于开始日期,但我可以处理)
实现这一点的最佳方法是什么?
只需使用 DateTime.Date 忽略从 DTP 获得的日期的时间部分。像这样:
private void btnOK_Click(object sender, EventArgs e) {
var start = dtpStart.Value.Date;
var end = dtpEnd.Value.Date.AddDays(1).AddMilliseconds(-1);
if (end > start) {
// etc...
}
}
使用 DatePicker 而不是 DateTimePicker 和/或订阅更改事件,并在每次更改值时强制使用您想要的时间。