有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java日期问题

大家好,为什么这个输出是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) 个答案

  1. # 1 楼答案

    替换

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

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

    mm是几分钟,MM是几个月

    另外,您不应该使用getMonth(),它已被弃用。使用Calendar类并从中获取Calendar.MONTH

  2. # 2 楼答案

    请参阅文档中的此图表:

    enter image description here

    请注意m用于分钟,而M用于月份

  3. # 3 楼答案

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

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