Java日历生成无效的月份和日期

Java日历生成无效的月份和日期,java,calendar,Java,Calendar,请看下面的代码 Calendar date = Calendar.getInstance(); initialClientLetterDate.setText(date.get(Calendar.YEAR)+"/"+date.get(Calendar.MONTH)+"/"+date.get(Calendar.DAY_OF_WEEK)); 这将生成无效的“月”和“日期”。输出为2014/09/06。为什么会这样?我只想得到当前的年份、日期和月份。您使用的是6表示FRID

请看下面的代码

 Calendar date = Calendar.getInstance();
            initialClientLetterDate.setText(date.get(Calendar.YEAR)+"/"+date.get(Calendar.MONTH)+"/"+date.get(Calendar.DAY_OF_WEEK));

这将生成无效的“月”和“日期”。输出为
2014/09/06
。为什么会这样?我只想得到当前的年份、日期和月份。

您使用的是6表示
FRIDAY
,从0开始,而不是从1开始,因此您必须在其中添加1。您可以使用而不是
DAY\u of u WEEK
DAY\u of u of u WEEK返回一个整数(从1开始)。对于一周中的某一天,周五将是6,月份也一样,只是从0开始,所以09年是10月


您可以按照以下代码进行操作。您不应该忘记设置区域设置

public static void main(String args[]) {
    Calendar date = Calendar.getInstance(Locale.US);
    System.out.println(date.get(Calendar.YEAR) + "/" 
            + (date.get(Calendar.MONTH) + 1) + "/"
            + date.get(Calendar.DAY_OF_MONTH));
}
date.get(Calendar.YEAR)=给出当前年份 date.get(Calendar.MONTH)=以0到11之间的整数形式给出一年中的月份,其中0=一月,11=十二月 date.get(Calendar.DAY\u OF_WEEK)=给出一周中从0到6的日期,其中0=星期一

因此,如果你想得到当前的日期,你必须这样做

date.get(Calendar.YEAR)+"/"+(date.get(Calendar.MONTH)+1)+"/"+date.get(Calendar.DAY_OF_MONTH)