若其中一个是字符串的时候:
string strDate = "2008-9-11"; // 要比较的日期字符串
DateTime time1 = dateTimePicker.Value; // DateTimePicker 控件中的值,本身已经是 DateTime 型的变量了
DateTime time2 = DateTime.Parse(strDate); // 把日期字符串解析为 DateTime 型的变量
if (time1 < time2) // DateTime 型的变量是可以直接比较的
{
// dateTimePicker.Value 比 strDate 的日期早
}
else if (time1 == time2)
{
// 两个时间相同
}
else
{
// 否则,就是更迟
}
若两个都是时间格式的时候:
TimeSpan rq = (this.dateTimePicker1.Value - DateTime.Now.Date);
if (rq.TotalDays> 1)
{
MessageBox.Show("开始日期不能早于当前日期");
}
else if (rq.TotalDays<1)
{
MessageBox.Show("可用");
}
若只想取日期部分,而不取时分秒部分,那么:
将上面的改成:
第一句改成:TimeSpan rq = (this.dateTimePicker1.Value.Date - DateTime.Now.Date);//表示两个时间都只取日期部分
用rq.TotalDays跟0比较
两个都是字符串的话:
string strDate1 = "2008-9-20"; // 要比较的日期字符串1
string strDate2 = "2008-10-12"; // 要比较的日期字符串2
if (DateTime.Parse(strDate1) < DateTime.Parse(strDate2)) // DateTime 型的变量是可以直接比较大小的
{
// strDate1 比 strDate2 的日期早
}
else
{
// 否则,就是相等或更迟
}
两个都是DateTimePicker控件的话更简单:
if (dateTimePicker1.Value < dateTimePicker2.Value)
{
// dateTimePicker1 代表的日期更早
}