首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Calendar类混淆

Calendar类混淆
EN

Stack Overflow用户
提问于 2012-01-11 01:12:27
回答 3查看 94关注 0票数 1

我在玩Calendar类,得到了一些令人困惑的结果:

代码语言:javascript
复制
    Calendar thisCal = Calendar.getInstance();
    thisCal.clear();

    thisCal.set(2012,12,8);

    System.out.println("Year is: " + thisCal.get(Calendar.YEAR));
    System.out.println("Month is: " + thisCal.get(Calendar.MONTH));
    System.out.println("Day of Month is: " + thisCal.get(Calendar.DAY_OF_MONTH));

输出:

年份是: 2013

月份为:0

每月的某一天是:8

我很困惑!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-11 01:15:41

MONTH字段是从零开始的(我想是从一些POSIX API继承的)。因此您将其设置为2012年的13个月,它将其解释为2013年的第一个月(数字为0)。

如果将lenient属性设置为false,则会引发异常。

票数 6
EN

Stack Overflow用户

发布于 2012-01-11 01:15:35

月份编号从0开始。更多详细信息here.

票数 2
EN

Stack Overflow用户

发布于 2012-01-11 01:16:06

请阅读Calendar的API文档。

月份从零开始。

因此,如果您将12设置为月份,它实际上是“13个月”,这会导致“奇怪”的结果

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8807438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档