我正在使用以下格式的日期:yyyy-mm-dd
。
如何将此日期增加一天?
发布于 2009-01-09 17:33:54
下面这样的代码应该能起到作用:
String dt = "2008-01-01"; // Start date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dt));
c.add(Calendar.DATE, 1); // number of days to add
dt = sdf.format(c.getTime()); // dt is now the new date
发布于 2012-03-08 14:26:43
更新(2021年5月):对于老旧的Java来说,这是一个非常过时的答案。对于Java8和更高版本,请参阅https://stackoverflow.com/a/20906602/314283
与C#相比,Java看起来确实远远落后于八球。此实用程序方法显示了在JavaSE6中使用Calendar.add method执行此操作的方法(可能是惟一简单的方法)。
public class DateUtil
{
public static Date addDays(Date date, int days)
{
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days); //minus number would decrement the days
return cal.getTime();
}
}
要添加一天,根据所问的问题,请按如下方式调用它:
String sourceDate = "2012-02-29";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date myDate = format.parse(sourceDate);
myDate = DateUtil.addDays(myDate, 1);
发布于 2014-01-03 23:08:17
java.time
在Java8和更高版本上,java.time package使得这几乎是自动的。(Tutorial)
假设String
输入和输出:
import java.time.LocalDate;
public class DateIncrementer {
static public String addOneDay(String date) {
return LocalDate.parse(date).plusDays(1).toString();
}
}
https://stackoverflow.com/questions/428918
复制相似问题