-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
4

2 回答 2

8

您想添加1而不是i每次 for 循环迭代。

cal.add(Calendar.SECOND, 1);
于 2013-05-13T22:16:17.180 回答
0
cal.add(Calendar.SECOND, 1);

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

于 2013-05-13T22:17:19.423 回答