在Java中为日期添加天数

在Java中为日期添加天数,java,date,Java,Date,如何在Java中为日期添加x天 例如,我的日期是(dd/mm/yyyy)=01/01/2012 再加上5天,输出应该是06/01/2012如果您正在使用(并且有很多很好的理由-一个简单、直观的API和线程安全),那么您可以简单地执行以下操作: (new LocalDate()).plusDays(5); 例如,从今天算起5天 编辑:我现在的建议是现在使用 您还可以减去日期,如Calendar.add(Calendar.DAY\u OF\u MONTH,-5)以下是一些简单的代码,可以输出为当前

如何在Java中为日期添加x天

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

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

如果您正在使用(并且有很多很好的理由-一个简单、直观的API和线程安全),那么您可以简单地执行以下操作:

(new LocalDate()).plusDays(5);
例如,从今天算起5天

编辑:我现在的建议是现在使用


您还可以减去日期,如
Calendar.add(Calendar.DAY\u OF\u MONTH,-5)

以下是一些简单的代码,可以输出为
当前日期
+
D天
=
一些“x”日期
(未来日期):

java.time 使用Java8,您可以使用该类


请参阅。

简单,无任何其他API:

要添加8天:

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

对于许多示例,Joda Time DateTime plusDays的一般问题搜索有更多重复项。如果您使用的是实际上已弃用的
Date
类,最简单(不是最好)的方法是:
returnDate=new Date(borrowDate.getTime()+TimeUnit.DAYS.toMillis(14))这是一个简单的代码,输出为currentdate+D days=某个“x”日期(未来日期)…如何使用yyyy mm dd格式中的joda获取当前日期前10天的日期查看joda特定的DateTimeFormatterWhy setTime to new date(),但是Calendar.getInstance().getTime()会产生相同的结果?回答正确。我还建议将时区()传递给该方法,而不是隐式地依赖JVM。该默认值可以在运行时的任何时刻更改!最好指定所需/预期的时区。此代码不能解释一天并不总是24小时长的事实。从技术上讲,这将增加192小时,而不是8天。可能是正确的,这取决于情况对“天”的定义。'public static Date addRemoveDays(Date d,int days){long ltime=d.getTime()+days*24*60*60*1000;return new Date(ltime);}。。。Date danes=新日期()//2016年4月28日tooOld=MyUtil.addRemoveDays(丹麦,-80)//18.5.2016错误???使用这样的代码的问题是,您很容易溢出int,然后变为负值:90天*24*60*60*1000=(int)-813934592这会让您倒退。不是这样实现的方法,我在添加29+7时使用了这段代码,它持续了36天,截至日期不超过31天。。。。。。
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);
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");

Calendar c = Calendar.getInstance();    
c.add(Calendar.DATE, 5);
System.out.println(dateFormat.format(c.getTime()));
LocalDate.now().plusDays(nrOfDays)
Date today=new Date();
long ltime=today.getTime()+8*24*60*60*1000;
Date today8=new Date(ltime);