现在是 3/15/11,当我调用一个新的日期对象时:
Date now = new Date();
我得到回报
- 月份为 2 (
getMonth()
), - 日期为 2 (
getDay()
) - 年份 (
getYear()
) 为 111。
这个约定有什么理由吗?
现在是 3/15/11,当我调用一个新的日期对象时:
Date now = new Date();
我得到回报
getMonth()
),getDay()
)getYear()
) 为 111。这个约定有什么理由吗?
这个约定有什么理由吗?
原因是它是 Date 的 javadoc 指定的;请参阅@matt b 的回答。
API 是在 JDK 1.0 时代创建的Date
,并且众所周知在许多领域存在问题。这就是为什么大多数 Date 方法都被标记为已弃用的原因。(顺便说一句,这意味着建议您不要在新代码中使用它们!!)
这些Calendar
API 是对 的重大改进Date
,但迄今为止在 Java 中处理日期/时间值的最佳 API 是 3rd-party Joda 时间API。
如果您想要 Joda 时间使用示例,请查看上面的链接。GregorianCalendar
javadocs中有一个使用日历的示例。更多日历使用示例可在此页面上找到。