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