大众计算机学习网

专门提供各种电脑教程

asp.net两日期时间型数据相减求天数

Admin | 2014-8-8 6:36:46 | 被阅次数 | 3718

  asp.net中的日期时间型数据,相减之后,可以求取年、月、天等数据,下面我们以求取天数为例子。

  DateTime MyDateTime ="2014-07-11 20:17:01";

  System.TimeSpan ts = DateTime.Now - MyDateTime;

        int days = ts.Days;

  假设,现在的日期时间DateTime.Now的值为:2014-07-19 0:17:49

  那么,上述的代码中,所求取的天数days是多少呢?

  很多人可能认为是8,但是,事实上,不是8,而是7,为什么呢?

  因为通过System.TimeSpan定义的变量ts,它的值为7.04:00:48.2232362

  该值未满8天,所以,返回的自然是7了。原因很简单,因为两日期时间型的相减之后,还要精确到小时分秒。

  只有当MyDateTime的值里面的时间和DateTime.Now时间一样,那么,才算一天。

  即,如果MyDateTime的值为2014-07-11 0:17:49时,所得的结果,获取的天数才是8,因为DateTime.Now 的值为2014-07-19 0:17:49。

  两者相减,自然就是2014-07-19 0:17:49减去2014-07-11 0:17:49,时间相等了,就剩下日期相减了,相当于2014-07-19 减去2014-07-11,自然就是8天了。

  所以,今后大家使用System.TimeSpan计算天数时,一定要考虑到小时分秒。