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

时间:2014-10-03 06:56:28

标签: java calendar

Plase看看下面的代码

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

这会产生无效的"月"和"日期"。输出为2014/09/06。为什么是这样?我只想获得当前年份,日期和月份。

4 个答案:

答案 0 :(得分:5)

FRIDAY使用的DAY_OF_WEEK 6 ,而DAY_OF_WEEK的{​​{3}}从0开始,因此您必须在其中添加1。您可以使用MONTH代替{{1}}。

答案 1 :(得分:2)

您可以执行以下代码。你不应该忘记设置语言环境。

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));
}

答案 2 :(得分:0)

DAY_OF_WEEK返回一周中某一天的int(从1?开始),因此星期五将是6,月份相同,但从0开始,因此09将是10月。

http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#DAY_OF_WEEK

答案 3 :(得分:0)

date.get(Calendar.YEAR)=给出当前年份 date.get(Calendar.MONTH)=给出一年中的月份为0到11之间的整数,其中0 = 1月11 = 12 date.get(Calendar.DAY_OF_WEEK)=给出星期几从0到6,其中0 =星期一

因此,如果您想获得当前日期,您必须

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