首页 > 解决方案 > java-如何将7天添加到默认日期?

问题描述

我在 Java 中有一个当前日期,如下所示:

String currentDate = CoreUtil.parseDate(new Date());

这会以 形式返回今天的日期2019-03-26

我声明了另一个日期,以便它应该自动将 7 天添加到当前日期,如下所示:

String defaultendDate=CoreUtil.parseDate(new Date()); + 7 days //example

所以 defaultEnddate 应该是2019-04-03

由于我不想使用任何简单的日期格式化程序,我将如何做到这一点?

另外,出于某种原因,我想按原样存储日期String,其次,我只想要日期,而不是时间。我也没有使用 Java 8,所以我不能LocalDate在这里真正使用库。

标签: java

解决方案


LocalDate 非常适合这项工作:

LocalDate.now().plusDays(7);

你可以得到你的字符串表示

.format(DateTimeFormatter.ISO_DATE);

如果您不能使用 Java 8,那么您有几个选择:

  • 使用 ThreeTen-Backport,它支持 Java 8 JSR-310 API 的大部分功能,通常在java.time包中可用。详情请看这里。这个包在 Maven Central 中可用。

  • 您也可以使用Joda Time。奇怪的是,这两个项目的网站布局几乎相同。

  • 如果您无法使用 ThreeTen-Backport 或 Joda Time,您可以使用:

    Calendar c = Gregorian​Calendar.getInstance();
    c.add(Calendar.DATE, 7);
    
    String s = new Simple​Date​Format("yyyy-MM-dd")
        .format(c.getTime());
    

    警告
    旧的日期和时间 API 有很多问题,请参见此处。仅当您没有其他选择时才使用此选项。


推荐阅读