1 package ch.qos.logback.core.util; 2 3 import java.util.Calendar; 4 import java.util.Date; 5 6 public class TimeUtil { 7 8 9 public static long computeStartOfNextSecond(long now) { 10 Calendar cal = Calendar.getInstance(); 11 cal.setTime(new Date(now)); 12 cal.set(Calendar.MILLISECOND, 0); 13 cal.add(Calendar.SECOND, 1); 14 return cal.getTime().getTime(); 15 } 16 17 public static long computeStartOfNextMinute(long now) { 18 Calendar cal = Calendar.getInstance(); 19 cal.setTime(new Date(now)); 20 cal.set(Calendar.MILLISECOND, 0); 21 cal.set(Calendar.SECOND, 0); 22 cal.add(Calendar.MINUTE, 1); 23 return cal.getTime().getTime(); 24 } 25 26 public static long computeStartOfNextHour(long now) { 27 Calendar cal = Calendar.getInstance(); 28 cal.setTime(new Date(now)); 29 cal.set(Calendar.MILLISECOND, 0); 30 cal.set(Calendar.SECOND, 0); 31 cal.set(Calendar.MINUTE, 0); 32 cal.add(Calendar.HOUR, 1); 33 return cal.getTime().getTime(); 34 } 35 36 public static long computeStartOfNextDay(long now) { 37 Calendar cal = Calendar.getInstance(); 38 cal.setTime(new Date(now)); 39 40 cal.add(Calendar.DAY_OF_MONTH, 1); 41 cal.set(Calendar.MILLISECOND, 0); 42 cal.set(Calendar.SECOND, 0); 43 cal.set(Calendar.MINUTE, 0); 44 cal.set(Calendar.HOUR_OF_DAY, 0); 45 return cal.getTime().getTime(); 46 } 47 48 public static long computeStartOfNextWeek(long now) { 49 Calendar cal = Calendar.getInstance(); 50 cal.setTime(new Date(now)); 51 52 cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek()); 53 cal.set(Calendar.HOUR_OF_DAY, 0); 54 cal.set(Calendar.MINUTE, 0); 55 cal.set(Calendar.SECOND, 0); 56 cal.set(Calendar.MILLISECOND, 0); 57 cal.add(Calendar.WEEK_OF_YEAR, 1); 58 return cal.getTime().getTime(); 59 } 60 61 public static long computeStartOfNextMonth(long now) { 62 Calendar cal = Calendar.getInstance(); 63 cal.setTime(new Date(now)); 64 65 cal.set(Calendar.DATE, 1); 66 cal.set(Calendar.HOUR_OF_DAY, 0); 67 cal.set(Calendar.MINUTE, 0); 68 cal.set(Calendar.SECOND, 0); 69 cal.set(Calendar.MILLISECOND, 0); 70 cal.add(Calendar.MONTH, 1); 71 return cal.getTime().getTime(); 72 } 73 74 75 76 }