当我创建一个Calendar实例时,该月的第一天= 2

时间:2013-05-02 08:38:24

标签: java android

当我获得日历的实例时,根据文档,该月的第一天应为1。

Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 1);
System.out.println(cal.getTimeInMillis());

打印“1367366400”,这是上个月最后一天“04/30/13”的时间戳。

我可以将它设置为“2”并像这样使用它:

for (int i = 2; i <= 32; i++) {

但这看起来很奇怪! 有什么建议? 谢谢!

1 个答案:

答案 0 :(得分:1)

而不是以毫秒打印时间并转换为检查,而不是像这样打印日,年和月:

    System.out.println("Year: " + cal.get(Calendar.YEAR));
    System.out.println("Month: " + (cal.get(Calendar.MONTH) + 1));
    System.out.println("Days: " + cal.get(Calendar.DAY_OF_MONTH));

我想你的代码很好。