美文网首页
java获取日期差以及几天前和几天后的时间

java获取日期差以及几天前和几天后的时间

作者: _52Hertz | 来源:发表于2018-12-19 15:21 被阅读3次
    /**
    * 日期差天数、小时、分钟、秒数组
    * @param startDate
    * @param endDate
    * @return
    */
    public static long[] getDisTime(Date startDate, Date endDate){
        long timesDis = Math.abs(startDate.getTime() - endDate.getTime());
        long day = timesDis / (1000 * 60 * 60 * 24);
        long hour = timesDis / (1000 * 60 * 60) - day * 24;
        long min = timesDis / (1000 * 60) - day * 24 * 60 - hour * 60;
        long sec = timesDis / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60;
        return new long[]{day, hour, min, sec};
    }
    
    /**
    * 日期差天数
    * @param startDate
    * @param endDate
    * @return
    */
    public static long getDisDay(Date startDate, Date endDate){
        long[] dis = getDisTime(startDate, endDate);
        long day = dis[0];
        if (dis[1] > 0 || dis[2] > 0 || dis[3] > 0) {
            day += 1;
        }
        return day;
    }
    
    /** 
    * 得到几天前的时间 
    * @param date
    * @param day 
    * @return 
    */  
    public static Date getDateBefore(Date d,int day){  
        Calendar now =Calendar.getInstance();  
        now.setTime(d);  
        now.set(Calendar.DATE,now.get(Calendar.DATE)-day);  
        return now.getTime();  
    }  
    
    /** 
    * 得到几天后的时间 
    * @param date
    * @param day 
    * @return 
    */  
    public static Date getDateAfter(Date d,int day){  
        Calendar now =Calendar.getInstance();  
        now.setTime(d);  
        now.set(Calendar.DATE,now.get(Calendar.DATE)+day);  
        return now.getTime();  
    } 
    

    相关文章

      网友评论

          本文标题:java获取日期差以及几天前和几天后的时间

          本文链接:https://www.haomeiwen.com/subject/piejkqtx.html