首页 > 其他 > 详细

调试 两个日期相差的天数

时间:2020-01-21 11:05:14      阅读:82      评论:0      收藏:0      [点我收藏+]
package test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Time {
    
    public static int differentDays(Date date1,Date date2){
        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();
        cal1.setTime(date1);
        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 timeDistance1 = 0 ;
            int timeDistance2 = 0 ;
            for(int i=year2;i<year1;i++){
                 if(i%4==0 && i%100!=0 || i%400==0){    //闰年            
                     timeDistance1 += 366;
                 }
                 else{    //不是闰年
                     timeDistance1 += 365;
                 }
            }
                if(year2%4==0 && year2%100!=0 || year2%400==0){    //闰年            
                    timeDistance2 +=1;
                }
               

            return  (day1+timeDistance1-day2-timeDistance2)  ;
        }else{    //同年
            return day1-day2;
        }
    }
    
    public static void main(String[] args) throws ParseException {
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
         Date date1 = simpleDateFormat.parse("2020-01-01");
         Date date2 = simpleDateFormat.parse("2019-12-25");
         System.out.println(differentDays(date1,date2));
    }
    

}

调试 两个日期相差的天数

原文:https://www.cnblogs.com/lifan12589/p/12220998.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!