现在的位置: 首页 > 综合 > 正文

两个时间比较大小

2013年08月17日 ⁄ 综合 ⁄ 共 1067字 ⁄ 字号 评论关闭

若其中一个是字符串的时候:

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 代表的日期更早
}

 

 

抱歉!评论已关闭.