在Java中添加date到date

如何在Java中添加x天到date?

例如,我的date是(dd / mm / yyyy)= 01/01/2012

添加5天,输出应该是06/01/2012

 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Calendar c = Calendar.getInstance(); c.setTime(new Date()); // Now use today date. c.add(Calendar.DATE, 5); // Adding 5 days String output = sdf.format(c.getTime()); System.out.println(output); 

java.time

使用Java 8 date和时间API,您可以使用LocalDate类。

 LocalDate.now().plusDays(nrOfDays) 

请参阅Oracle教程 。

 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);

这是一个简单的代码,以currentdate + D days = currentdate (将来的date)作为输出结果:

 DateFormat dateFormat= new SimpleDateFormat("dd/MM/yyyy"); Calendar c = Calendar.getInstance(); c.add(Calendar.DATE, 5); System.out.println(dateFormat.format(c.getTime())); 

如果你使用的是Joda-Time (而且有很多很好的理由 – 一个简单,直观的API和线程安全性),那么你可以轻松地做到这一点:

 (new LocalDate()).plusDays(5); 

例如,从今天起给5天。

简单,没有任何其他的API:

要添加8天:

 Date today=new Date(); long ltime=today.getTime()+8*24*60*60*1000; Date today8=new Date(ltime);