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

/**
* 日期差天数、小时、分钟、秒数组
* @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();  
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值