java中如何计算两个日期之间相差的天数呢?

戚薇 Java经验 发布时间:2023-07-14 22:10:51 阅读数:1366 1
下文笔者讲述java中计算两个日期之间天数的方法分享,如下所示
计算两个日期之间间隔天数的实现思路
    方式1:
	  年月日之间互相比较
	方式2:
	  转换为毫秒数比较,然后再转换为天数
例:计算两个日期之间间隔天数的示例
/**
 * date2比date1多的天数
 * @param date1
 * @param date2
 * @return
 */
private static int differentDays(Date date1,Date date2) {
	Calendar cal1 = Calendar.getInstance();
	cal1.setTime(date1);

	Calendar cal2 = Calendar.getInstance();
	cal2.setTime(date2);
	int day1= cal1.get(Calendar.DAY_OF_YEAR);
	int day2 = cal2.get(Calendar.DAY_OF_YEAR);

	int year1 = cal1.get(Calendar.YEAR);
	int year2 = cal2.get(Calendar.YEAR);
	if(year1 != year2) {//同一年
		int timeDistance = 0 ;
		for(int i = year1 ; i < year2 ; i ++)
		{
			if(i%4==0 && i%100!=0 || i%400==0)    //闰年
			{
				timeDistance += 366;
			}
			else    //不是闰年
			{
				timeDistance += 365;
			}
		}

		return timeDistance + (day2-day1) ;
	} else {// 不同年
		System.out.println("判断day2 - day1 : " + (day2-day1));
		return day2-day1;
	}
}

2、两个日期之间相差的天数
   以毫秒数精确计算(如相差22小时可能是同一天)

    /**
     * 通过秒毫秒数判断两个时间的间隔的天数
     * @param date1
     * @param date2
     * @return
     */
    public static int differentDaysByMillisecond(Date date1,Date date2)
    {
        int days = (int) ((date2.getTime() - date1.getTime()) / (1000*3600*24));
        return days;
    }
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202307/16893438917080.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者