java怎么计算相隔多少天_java计算两个日期之间相差天数和相隔天数详解

  • Post author:
  • Post category:java


大家看到文章标题”两个日期之间相差天数和相隔天数”,是否有疑惑呢!从中文字面理解,”相差“和”相隔”是有区别的,然而就是这些区别害死很多人,却没有发现,在大量新增统计时是差之毫厘谬以千里,我能都发现是因为一个偶然的机会,一个项目运行几年却没有人发现,我在其中还不到一年,一开始写这些这代码的人根本没分清楚什么情况就写了,怪不得统计的数据总是有那么细微的差别,在于日期”相差“和”相隔”有某些特定的情况下是相等的,有时又不相等。大家看我写那么多也是醉了。下面直接进入正题。

两个日期之间相差天数

平时大家都在讨论两个日期之间相差天数,网上大把代码也是关于两个日期之间相差天数,因为相差在人的脑中已经根深了,在我管理的工程里也有这样的代码,如下所示

public static int getDiscrepantDays(Date dateStart, Date dateEnd) {

return (int) ((dateEnd.getTime() – dateStart.getTime()) / 1000 / 60 / 60 / 24);

}

这个方法的功能就是传入开始和结束日期,计算相差的天数,实现思路是通过java.util.Date类的getTime()方法获得日期的毫秒数,

然后相减dateEnd.getTime() – dateStart.getTime(),得到毫秒数的差,除以1000,得到秒数的差;再除以60,得到分钟数的差;再除以60,得到小时数的差;再除以24小时,得到天数的差。这就是计算两个日期之间相差天



版权声明:本文为weixin_30460749原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。