Nat*_*tim 6 java formatting date
我正在使用SimpleDateFormat来显示这样的日历:
public String getDate()
{
String DATE_FORMAT = "EEEE, dd/MM/yyyy HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
System.err.println(date.getTime().getMonth());
return sdf.format(date.getTime());
}
Run Code Online (Sandbox Code Playgroud)
shell返回6并显示:mardi, 06/07/2010 12:44:52
这不可能吗?为什么?
谢谢
不幸的是,上课Date和上课的月份Calendar都是从零开始的。(在我看来,这是这些类中的一个巨大的设计错误,它只是 Java 日期和时间 API 中的众多设计错误之一)。
需要注意的是类Calendar具有常数来表示月:Calendar.JANUARY,Calendar.FEBRUARY等使用的,而不是原始数据。
一个经常提到的、更好的 Java 日期和时间 API 是Joda Time。请注意,有人提议将新的日期和时间 API 添加到将基于 Joda 时间的 Java 的下一个版本。