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

本文介绍如何在C#中正确地比较日期,确保日期精度一致,并提供示例代码来处理日期范围验证的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


开始日期 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中两个时间进行比较时,要注意两个时间的精度。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值