Author: ceki
Date: Wed Nov 22 21:54:13 2006
New Revision: 989

Modified:
   
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/util/TimeUtil.java
   
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/util/TimeUtilTest.java

Log:
added support by minute and by hour computations

Modified: 
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/util/TimeUtil.java
==============================================================================
--- 
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/util/TimeUtil.java 
    (original)
+++ 
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/util/TimeUtil.java 
    Wed Nov 22 21:54:13 2006
@@ -13,6 +13,25 @@
     cal.add(Calendar.SECOND, 1);
     return cal.getTime().getTime();
   }
+
+  public static long computeStartOfNextMinute(long now) {
+    Calendar cal = Calendar.getInstance();
+    cal.setTime(new Date(now));
+    cal.set(Calendar.MILLISECOND, 0);
+    cal.set(Calendar.SECOND, 0);
+    cal.add(Calendar.MINUTE, 1);
+    return cal.getTime().getTime();
+  }
+
+  public static long computeStartOfNextHour(long now) {
+    Calendar cal = Calendar.getInstance();
+    cal.setTime(new Date(now));
+    cal.set(Calendar.MILLISECOND, 0);
+    cal.set(Calendar.SECOND, 0);
+    cal.set(Calendar.MINUTE, 0);
+    cal.add(Calendar.HOUR, 1);
+    return cal.getTime().getTime();
+  }
   
   public static long computeStartOfNextDay(long now) {
     Calendar cal = Calendar.getInstance();

Modified: 
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/util/TimeUtilTest.java
==============================================================================
--- 
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/util/TimeUtilTest.java
 (original)
+++ 
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/util/TimeUtilTest.java
 Wed Nov 22 21:54:13 2006
@@ -22,13 +22,34 @@
   public void testSecond() {
     // Mon Nov 20 18:05:17,522 CET 2006
     long now = 1164042317522L;
-    // Mon Nov 20 18:06:00,000 CET 2006
+    //Mon Nov 20 18:05:18,000 CET 2006
     long expected = 1164042318000L;
     long computed = TimeUtil.computeStartOfNextSecond(now);
     assertEquals(expected - now, 478); 
     assertEquals(expected, computed);
   }
   
+  public void testMinute() {
+    // Mon Nov 20 18:05:17,522 CET 2006
+    long now = 1164042317522L;
+    // Mon Nov 20 18:06:00 CET 2006
+    long expected = 1164042360000L;
+    long computed = TimeUtil.computeStartOfNextMinute(now);
+    assertEquals(expected - now, 1000*42+478); 
+    assertEquals(expected, computed);
+  }
+
+  public void testHour() {
+    // Mon Nov 20 18:05:17,522 CET 2006
+    long now = 1164042317522L;
+    // Mon Nov 20 19:00:00 CET 2006
+    long expected = 1164045600000L;
+    System.out.println(new Date(expected));
+    long computed = TimeUtil.computeStartOfNextHour(now);
+    assertEquals(expected - now, 1000*(42+60*54)+478); 
+    assertEquals(expected, computed);
+  }
+  
   public void testDay() {
     // Mon Nov 20 18:05:17 CET 2006
     long now = 1164042317522L;
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev

Reply via email to