* 剩餘時間(秒) * [@return](https://my.oschina.net/u/556800) */ private int calLastedTime() { int startTime = util.TimeUtil.getNow(); int endTime = util.TimeUtil.getNextDayZero() - 1; return endTime - startTime; } public class TimeUtil { /** * 獲取當前秒數 * * [@return](https://my.oschina.net/u/556800) */ public static int getNow() { return (int) (System.currentTimeMillis() / 1000); } public static int getNextDayZero() { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.add(Calendar.DATE, 1); return (int) (calendar.getTimeInMillis() / 1000); } } ========= public class DateTimeUtil { private static Calendar calendar = Calendar.getInstance(); private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); private static byte[] lock = new byte[0]; /** * 將傳入的毫秒按照 月.日 的格式返回 * @param time * @return */ public static String getMonthDay(long time){ synchronized (calendar) { calendar.setTimeInMillis(time); int month=calendar.get(Calendar.MONTH)+1; int day=calendar.get(Calendar.DAY_OF_MONTH); return month+"."+day; } } /** * 獲取當前秒數的前n天的秒數 * @param now * @param n * @return */ public static int getNDayInSeconds(int now,int n){ synchronized (calendar) { calendar.setTimeInMillis(now*1000l); calendar.add(Calendar.DATE, n); return (int) (calendar.getTimeInMillis()/1000); } } /** * format爲yyyy-MM-dd * * @return */ public static String format(Date day) { synchronized (dateFormat) { return dateFormat.format(day); } } /** * format爲yyyy-MM-dd * * @return */ public static String format(Date date, String pattern) { synchronized (lock) { DateFormat dateFormat = new SimpleDateFormat(pattern); if (date == null) return ""; return dateFormat.format(date); } } /** * 獲取距離目前第n天的時間 * * @param n * @return */ public static Date getNDate(Date day, int n) { synchronized (calendar) { calendar.setTime(day); calendar.add(Calendar.DATE, n); return calendar.getTime(); } } public static Date getBeginTime(Date day) { synchronized (calendar) { calendar.setTime(day); 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(); } } public static Date getEndTime(Date day) { synchronized (calendar) { calendar.setTime(day); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); calendar.set(Calendar.MILLISECOND, 999); return calendar.getTime(); } } public static Date getEndTime(Date day, int n) { synchronized (calendar) { calendar.setTime(day); calendar.add(Calendar.DATE, n); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); calendar.set(Calendar.MILLISECOND, 999); return calendar.getTime(); } } /** * @param date * @return * @throws ParseException */ public static Date parseDate(String date, String reg) { if (StringUtils.isEmpty(date)) { return null; } try { DateFormat dateFormat = new SimpleDateFormat(reg); return dateFormat.parse(date); } catch (Exception e) { LOG.error("DateTimeUtil.parseDate exception",e); return null; } } public static Date setTime(Date nowDay, Date day) { synchronized (calendar) { calendar.setTime(nowDay); Calendar calendar_new = Calendar.getInstance(); calendar_new.setTime(day); calendar.set(Calendar.HOUR_OF_DAY, calendar_new.get(Calendar.HOUR_OF_DAY)); calendar.set(Calendar.MINUTE, calendar_new.get(Calendar.MINUTE)); calendar.set(Calendar.SECOND,calendar_new.get(Calendar.SECOND)); return calendar.getTime(); } } public static int getTodayIntNotSign(){ DateFormat dateFormatNotSign = new SimpleDateFormat("yyyyMMdd"); String dateStr = dateFormatNotSign.format(new Date()); if(StringUtils.isNotBlank(dateStr)){ return Integer.parseInt(dateStr); } return 0; } /** * 獲取指定日期當天的零點的秒數 * * @param date * @return * @author lichengwu * @created Sep 13, 2011 */ public static long toEarlyMorning(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); return cal.getTimeInMillis()/1000; } public static long toSomeDay(Date date, int delayDay, int hour) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DAY_OF_YEAR, delayDay); cal.set(Calendar.HOUR_OF_DAY, hour); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); return cal.getTimeInMillis() / 1000; } /** * 返回當前時間的秒數 * * @return */ public static long unixTime() { return System.currentTimeMillis() / 1000; } public static long unixTime(Date date) { return date.getTime() / 1000; } }
獲取當天0點: .net