2013-05-13 94 views
-4

這是一個簡單的測試:我試圖在循環中將當前時間戳增加1秒。輸出不是我所期望的。循環中增加一秒的時間

public class TimeTest { 
    public static void main(String[] args) { 
     Calendar cal = Calendar.getInstance(); 
     for (int i = 0; i < 10; i++) { 
      cal.add(Calendar.SECOND, i); 
      System.out.println("Updated = " + cal.getTime()); 
     } 
    } 
} 

而不是整整1秒的增量,我從5秒到1秒之間的任何地方增加。

Updated = Mon May 13 15:12:45 PDT 2013 
Updated = Mon May 13 15:12:46 PDT 2013 
Updated = Mon May 13 15:12:48 PDT 2013 
Updated = Mon May 13 15:12:51 PDT 2013 
Updated = Mon May 13 15:12:55 PDT 2013 
Updated = Mon May 13 15:13:00 PDT 2013 
Updated = Mon May 13 15:13:06 PDT 2013 
Updated = Mon May 13 15:13:13 PDT 2013 
Updated = Mon May 13 15:13:21 PDT 2013 
Updated = Mon May 13 15:13:30 PDT 2013 
+2

提示:增量是否爲1,2,3,4,5,6,7,8,和9(按順序!:) :) – 2013-05-13 22:17:20

+0

FDinoff是正確的。第一次添加1秒,然後2秒,然後3秒,然後+ x秒... :) – 2013-05-13 22:18:51

回答

8

要在對每個循環迭代加1而不是i

cal.add(Calendar.SECOND, 1); 
0
cal.add(Calendar.SECOND, 1); 

只需1秒遞增日曆代替我秒