【发布时间】:2019-07-25 03:39:10
【问题描述】:
我正在尝试添加超过一个月天数的天数。例如 2019 年 7 月 1 日,我加上 32 天,结果将是 2019 年 8 月 2 日。
SimpleDateFormat format = new SimpleDateFormat("mm/dd/yyy");
SimpleDateFormat Dateformat = new SimpleDateFormat("mm/dd/yyy");
String getDate = date_pick.getText().toString();
Date mDate;
Date result_desu;
try {
mDate = format.parse(getDate);
Calendar calendar = Calendar.getInstance();
calendar.setTime(mDate);
calendar.add(Calendar.DATE, 32);
String formattedDate = Dateformat.format(calendar.getTime());
date_result.setText(formattedDate); // format output
} catch (ParseException e) {
e.printStackTrace();
}
我一直在使用此代码,但事实证明仅使用同一月份重置日期示例:2019 年 7 月 1 日;结果:2019 年 7 月 2 日。
【问题讨论】:
-
顺便考虑扔掉长期过时且臭名昭著的麻烦
SimpleDateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。 -
您应该使用
LocalDate::plusDays而不是问题中看到的可怕的旧日期时间类。
标签: java android date android-calendar days