日历月份错误

问题描述

当您应该使用大写字母“ M”时,则使用小写的“ m”表示月份,即

SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy");

小写的“ m”用于格式化分钟- 有关更多详细信息,请参见Java API forSimpleDateFormat

测试

解决方法

我尝试使用日历设置若干年后的简单日期:

字符串日期是此方法的参数。

     SimpleDateFormat format = new SimpleDateFormat("dd.mm.yyyy");

    String[] DateTimeParts = date.split(" ");
    String dt = DateTimeParts[0];
    String[] dateParts = dt.split("-");
    int d = Integer.parseInt(dateParts[2]);


    int y = Integer.parseInt(dateParts[0]);
    int m = Integer.parseInt(dateParts[1]);




    Calendar calendar = Calendar.getInstance(); 
    calendar.set(y,m-1,d);
    calendar.add(Calendar.YEAR,years);


    return format.format(calendar.getTime());
}

我的问题是,否则日期返回还可以,但是月份数字完全错误,并且每次运行时看起来都越来越大!我想念的是什么?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”