首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中将日期增加一天?

如何在Java中将日期增加一天?
EN

Stack Overflow用户
提问于 2009-01-10 01:20:09
回答 26查看 1M关注 0票数 633

我正在使用以下格式的日期:yyyy-mm-dd

如何将此日期增加一天?

EN

回答 26

Stack Overflow用户

发布于 2009-01-09 17:33:54

下面这样的代码应该能起到作用:

代码语言:javascript
复制
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
票数 744
EN

Stack Overflow用户

发布于 2012-03-08 14:26:43

更新(2021年5月):对于老旧的Java来说,这是一个非常过时的答案。对于Java8和更高版本,请参阅https://stackoverflow.com/a/20906602/314283

与C#相比,Java看起来确实远远落后于八球。此实用程序方法显示了在JavaSE6中使用Calendar.add method执行此操作的方法(可能是惟一简单的方法)。

代码语言:javascript
复制
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();
    }
}

要添加一天,根据所问的问题,请按如下方式调用它:

代码语言:javascript
复制
String sourceDate = "2012-02-29";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date myDate = format.parse(sourceDate);
myDate = DateUtil.addDays(myDate, 1);
票数 237
EN

Stack Overflow用户

发布于 2014-01-03 23:08:17

java.time

在Java8和更高版本上,java.time package使得这几乎是自动的。(Tutorial)

假设String输入和输出:

代码语言:javascript
复制
import java.time.LocalDate;

public class DateIncrementer {
  static public String addOneDay(String date) {
    return LocalDate.parse(date).plusDays(1).toString();
  }
}
票数 100
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/428918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档