/** * 得到系统时间到第二天凌晨的时间差 * 返回毫秒数 * @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; }