1

考虑以下代码段

    System.out.println(System.currentTimeMillis());

    Calendar calendarInstance = Calendar.getInstance();
    System.out.println(calendarInstance.getTimeInMillis());

    // Get current
    int year = calendarInstance.get(Calendar.YEAR);
    int month = 1 + calendarInstance.get(Calendar.MONTH);

    calendarInstance.set(year, month, 7 , 19, 00);

    System.out.println(calendarInstance.getTimeInMillis());

前两张照片“现在差不多”。第三个是昨天晚上7点。为什么第三个数字最大?

  1. 1,352,389,069,723
  2. 1,352,389,069,734
  3. 1,354,669,249,734

如果我错了,请纠正我,但在

calendarInstance.set(year, month, 7 , 19, 00);

我们正在处理2012, 11, the 7th day, 7 pm

请问我错过了什么?

4

1 回答 1

3

迄今为止,您刚刚添加了 1 个月。所以是未来。

int month = 1 + calendarInstance.get(Calendar.MONTH);

这可能会令人困惑,但我猜您添加 1 是因为月份是基于 Java 的 0-index。很遗憾。

于 2012-11-08T16:02:39.370 回答