Java教程

java计算两个日期相差的天数

本文主要是介绍java计算两个日期相差的天数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

计算不是通过时间戳24小时为一天,单纯是计算两个日期之前相差的天数,例如,2021年11月25日和2021年12月1日相差多少天:

/**
	 * date2比date1多的天数
	 * @param date1
	 * @param date2
	 * @return
	 */
	private  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    //不同年
		{
			logger.debug("判断day2 - day1 : " + (day2-day1));
			return day2-day1;
		}
	}
这篇关于java计算两个日期相差的天数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!