C# datetimepicker 如果今天等于则勾选复选框,否则不勾选 checked/uncheck

C# datetimepicker if equals today then tick checkbox, else not checked/uncheck

我正在尝试设置一个复选框 (notTodayCheckBox),如果日期时间选择器 (DateTimePicker) 选择了今天,则不​​选中它,如果选择不是今天,则选中它已检查。

如果所选日期不是今天,我当前的代码会勾选该框,但如果我将其改回今天,则该框不会取消选中。

当前代码:

private void DateTimePicker_ValueChanged(object sender, EventArgs e)
{
     DateTime check;
     if (DateTime.TryParse(dateTimePicker.Text, out check) && check != DateTime.Now)
     {
          notTodayCheckBox.Checked = true;
     }
     else if (DateTime.TryParse(dateTimePicker.Text, out check) && check == DateTime.Now)
     {
          notTodayCheckBox.Checked = false;
     }
}

DateTime.Now 中有一个时间元素,也许您的日期选择器设置在不同的时间,即使是一秒钟也会使它们不相等。

如果你只是在约会之后而不关心时间。

checkDateTime.Now 转换为 ShortDateString()

它会将两者都视为 string,格式为 mm/dd/yyyy

check.ToShortDateString() == DateTime.Now.ToShortDateString()

或根据 René Vogt

check.Date == DateTime.TodayDateTime.Now.Date 两者都将 return DateTime 时间设置为 12:00:00AM