Java里的月份和周次 是从0开始计还是从1开始?
在Java中,月份和周次的计数方式有所不同:
月份(Month):
在Java的java.util.Calendar
类中,月份是从0开始计数的。也就是说,1月是0,2月是1,依此类推,12月是11。
例如:
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, Calendar.JANUARY); // 设置为1月
在Java 8引入的java.time
包中,月份是从1开始计数的。java.time.Month
枚举类提供了更直观的月份表示。
例如:
LocalDate date = LocalDate.of(2023, Month.JANUARY, 1); // 设置为2023年1月1日
周次(Week):
java.util.Calendar
类中,周次是从1开始计数的。Calendar.WEEK_OF_YEAR
和Calendar.WEEK_OF_MONTH
都是从1开始。Calendar calendar = Calendar.getInstance();
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR); // 获取当前年份的周次
总结:
java.util.Calendar
中,月份从0开始计数,周次从1开始计数。java.time
包中,月份从1开始计数。