/**
* 得到系统时间到第二天凌晨的时间差
* 返回毫秒数
* @param date
* @return
*/
public static long getSecondDayDifference(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int day = cal.get(Calendar.DATE);
cal.set(Calendar.DATE, day + 1);
DateUtils.format(cal, "yyyy-MM-dd 00:00:00");
long timeDiff = DateUtils.timeToBeginDay(cal.getTime()).getTime() - System.currentTimeMillis();
return timeDiff;
}
/**
* Calendar转换成string
* @param calendar Calendar对象
* @param pattern 转换格式
* @return
*/
public static String format(Calendar calendar, String pattern) {
if (StringUtils.isBlank(pattern)) {
return "";
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(calendar.getTime());
}
/**
* 将时间归至第二天零点
*
* @param date
* @return
*/
public static Date timeToBeginDay(Date date) {
if (date != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
return calendar.getTime();
}
return null;
}