在循环中将时间增加一秒

时间:2013-05-13 22:14:11

标签: java datetime time

这是一个简单的测试:我试图在循环中将当前时间戳增加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 个答案:

答案 0 :(得分:8)

您想在每个for循环迭代中添加1而不是i

cal.add(Calendar.SECOND, 1);

答案 1 :(得分:0)

cal.add(Calendar.SECOND, 1);

只需将日历递增1秒而不是 i秒