可能重复:
How can I increment a date by one day in Java?
我有一个现有的date对象,我想在每一个字段保持不变的同时增加一天。我遇到的每个示例都是小时/分钟/秒,或者您必须创建一个新的date对象并将字段传输到上面。有什么办法可以把日场提前1吗?
谢谢
编辑:对不起,我不是说把一天的值增加一天,我是说提前1天
发布于 2011-02-26 13:23:14
Calendar c = Calendar.getInstance();
c.setTime(yourdate);
c.add(Calendar.DATE, 1);
Date newDate = c.getTime();
发布于 2011-02-26 15:00:04
Date
对象本身(假设您的意思是java.util.Date
)没有Day字段,只有一个“自Unix以来的毫秒”值。( toString()
方法根据当前区域设置打印此值。)
根据你想要做的事情,原则上有两种方法:
私人最终静态长MILLISECONDS_PER_DAY =1000 L* 60 * 60 * 24;/** *将给定日期移动24小时。*/ public静态void shiftDate(Date d) { long time = d.getTime();time += MILLISECONDS_PER_DAY;d.setTime( time );}
getInstance()
方法TimeZone。)/** *将给定日期移到第二天的同一时间。*使用当前时区。*/公共静态无效shiftDate(日期d) {日历c= Calendar.getInstance();c.setTime(d);c.add(Calendar.DATE,1);d.setTime(c.getTimeInMillis());}
如果您正在执行多个这样的日期操作,最好直接使用Calendar对象,而不是一次又一次地从日期转换到日期。
发布于 2011-02-26 15:08:48
org.apache.commons.lang.time.DateUtils.addDays(date, 1);
https://stackoverflow.com/questions/5129672
复制相似问题