获取两时间间隔天、小时、分

获取两时间间隔天、小时、分

public static void main(String[] args){
Date _2days = toDate("2012-11-15 18:17:20", TIME_PATTERN);
System.err.println(surplusUnitedTime(_2days));

Date _1days = toDate("2012-11-14 18:17:20", TIME_PATTERN);
System.err.println(surplusUnitedTime(_1days));

Date _0days = toDate("2012-11-13 18:17:20", TIME_PATTERN);
System.err.println(surplusUnitedTime(_0days));

Date _days = toDate("2012-11-13 17:17:20", TIME_PATTERN);
System.err.println(surplusUnitedTime(_days));
}

public static String surplusUnitedTime(Date unitedEndTime){
String surplusTime = "";
Date now = new Date();
int surplusMins = getTimeIntervalMins(now, unitedEndTime);
int surplusSecond = getTimeIntervalSec(now, unitedEndTime);
int _dayMins = 24*60;
int _hourMins = 60;
if(surplusMins >= _dayMins){//时间相隔大于1天
surplusTime = surplusMins/_dayMins+"天"+surplusMins%_dayMins/_hourMins+"小时";
} else if(surplusMins == 0 && surplusSecond > 0){
surplusTime = 0+"小时"+1+"分";
} else if(surplusMins > 1){
surplusTime = surplusMins/_hourMins+"小时"+surplusMins%_hourMins+"分";
}
return surplusTime;
}

public static int getTimeIntervalMins(Date firstDate, Date lastDate) {
if (null == firstDate || null == lastDate) {
return -1;
}

long intervalMilli = lastDate.getTime() - firstDate.getTime();
return (int) (intervalMilli / (60 * 1000));
}

public static int getTimeIntervalSec(Date firstDate, Date lastDate) {
if (null == firstDate || null == lastDate) {
return -1;
}

long intervalMilli = lastDate.getTime() - firstDate.getTime();
return (int) (intervalMilli / 1000);
}

public static java.util.Date toDate(String sDate, String sFmt) {
if (StringUtil.isBlank(sDate) || StringUtil.isBlank(sFmt)) {
return null;
}

SimpleDateFormat sdfFrom = null;
java.util.Date dt = null;
try {
sdfFrom = new SimpleDateFormat(sFmt);
dt = sdfFrom.parse(sDate);
} catch (Exception ex) {
logger.error(ex, ex);
return null;
} finally {
sdfFrom = null;
}

return dt;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值