【发布时间】:2018-09-08 09:58:45
【问题描述】:
我希望在给定日期上增加一天。如果我通过 2018-08-05,以下方法将返回 2018-08-06,这是预期的。但是如果通过了当月的最后一个日期 -2018-08-31,则返回 2018-08-01 而不是预期的结果 2018-09-01。
DateFormat format = new SimpleDateFormat("yyyy-mm-dd", Locale.ENGLISH);
Date date = null;
try {
date = format.parse("2018-08-31");
} catch (ParseException e) {
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE ,1);
return format.format(cal.getTime());
【问题讨论】:
-
你的格式不对,应该是
yyyy-MM-dd,大写M。但是,如果您使用的是 Java 8,请不要使用过时的Date/Calendar、useLocalDate。
标签: java date simpledateformat