java日期问题

时间:2014-12-19 13:47:56

标签: java date

各位大家好,为什么输出为0而不是9?谢谢

Date dateNaiss=null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
try {
    dateNaiss = sdf.parse("1992-10-10");
} catch (ParseException e1) {
    e1.printStackTrace();
}
System.out.println("the mounth of this date is : "+dateNaiss.getMonth());

3 个答案:

答案 0 :(得分:4)

因为mm是分钟(而非月份)。我相信你想要

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

答案 1 :(得分:3)

替换

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

mm是几分钟而MM是几个月

此外,您不应该使用getMonth(),它已被弃用。使用Calendar课程,然后从中获取Calendar.MONTH

答案 2 :(得分:1)

请参阅文档中的此图表:

enter image description here

请注意,m用于分钟,M用于该月。