java-7 - 如何从用户在java中输入的日期获取明年日期
问题描述
下面是返回错误日期的代码
String dt = "01-08-2021";
SimpleDateFormat format = new SimpleDateFormat("dd-mm-yyyy");
Date date = new SimpleDateFormat("dd-mm-yyyy").parse(dt);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, -1);
cal.add(Calendar.YEAR, 1);
date = cal.getTime();
System.out.println(format.format(date));
它打印为 31-08-2021,它假设打印 31-07-2022。如果我通过 02-08-2021,它会在 2022 年 1 月 8 日完美运行我使用的是 java1.7。谁可以帮我这个事。
解决方案
不确定这是否是问题......但是:您使用 SimpleDateFormat 错误。MM
代表月份。mm
代表分钟。见这里:https ://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
推荐阅读
- r - solve.default(A, B, fractions = TRUE) 中的错误:'a' (3 x 2) 必须是正方形
- go - 为什么 http.ServeMux 没有 Remove 方法?
- javascript - 错误:意外字符“@”(请注意,您需要插件才能导入非 JavaScript 文件)
- c++ - 适用于 `memcpy()` 的相同可简单复制的限制是否也适用于 `std::copy()`?
- ffmpeg - ffmpeg av_read_frame 返回错误码 -5
- winforms - DevExpress:将还原按钮添加到选项卡窗格
- python - 如何制作具有多个输入的是或否按钮?
- html - 如何使用jQuery删除href标签但保持文本自然?
- mysql - 将 datetime-local 类型的表单数据发布到 sql 表 datetime 字段
- ios - 是否可以在同一个函数中调用不同的重载函数?