如何在 Java 中将 x 天添加到日期?
例如,我的日期是01/01/2012
,使用dd/mm/yyyy
格式。
加上 5 天,输出应该是06/01/2012
.
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Using today's date
c.add(Calendar.DATE, 5); // Adding 5 days
String output = sdf.format(c.getTime());
System.out.println(output);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.MONTH, 1);
cal.set(Calendar.YEAR, 2012);
cal.add(Calendar.DAY_OF_MONTH, 5);
您也可以像这样减去天数:Calendar.add(Calendar.DAY_OF_MONTH, -5);
这是一些简单的代码,可以打印五天后的日期:
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, 5);
System.out.println(dateFormat.format(c.getTime()));
示例输出:
16/12/2021
另请参阅:日历#add
If you're using Joda-Time (and there are lots of good reasons to - a simple, intuitive API and thread safety) then you can do this trivially:
new LocalDate().plusDays(5);
to add 5 days to today's date, for example.
EDIT: My current advice would be to now use the Java 8 date/time API
简单,无需任何其他 API:
要将 8 天添加到当前日期:
Date today = new Date();
long ltime = today.getTime()+8*24*60*60*1000;
Date today8 = new Date(ltime);