1. 程式人生 > >C# winform 判斷日期大小 比較日期大小

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中兩個時間進行比較時,要注意兩個時間的精度。