C# winform 判断日期大小 比较日期大小


开始日期 dateTimePicker1为 2011-6-11

截止日期  dateTimePicker2为 2011-6-12

               如果截止日期大于开始日期,则弹出错误。

               //////////////////////////////////////////////
                DateTime time1 = Convert.ToDateTime(dateTimePicker1.Value.Date.ToString("yyyy-MM-dd"));
                DateTime time2 = Convert.ToDateTime(dateTimePicker2.Value.Date.ToString("yyyy-MM-dd"));   

                if (DateTime.Compare(time1,time2)>=0) //判断日期大小
                {

                   messageBox.Show("dateTimePicker1的日期小于或等于dateTimePicker2的日期");
                 }
                /////////////////////////////////////////////

注:时间比较的精度问题

如果当前时间为2008年7月1日1时5分4秒
      Convert.ToDateTime("08/07/01").CompareTo(DateTime.Now) 此时返回的值为“-1”
      结果:Convert.ToDateTime("08/07/01")所表示的时间小于DateTime.Now
      原因
      Convert.ToDateTime("08/07/01")所表示的时间为:2008-7-1 0:00:00
      DateTime.Now所表示的时间为:2008-7-1 1:05:04
     
      如果我们现在只要做到精确到“日”的时间比较,那么就要把两个时间统到同一精度。
      方法
      Convert.ToDateTime("08/07/01").CompareTo(Convert.ToDateTime(DateTime.Now.ToString("yy/MM/dd"))) 此时返回的值为“0”
      结果:两个时间相等

     如果想只取小时分钟  则格式设为"HH:mm"
      
      结论
      DateTime中两个时间进行比较时,要注意两个时间的精度。

你可能感兴趣的:(C#)