【问题标题】:how to add days to java simple date format如何在java简单日期格式中添加天数
【发布时间】:2014-03-17 13:36:11
【问题描述】:

我应该如何将 120 天添加到我使用简单日期格式获得的当前日期?

我看过一些关于它的帖子,但无法让它发挥作用,

我的代码如下:

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
//get current date time with Date()
Date date = new Date();

我需要使用Calendar 库还是可以使用简单的日期格式?

【问题讨论】:

  • 使用calendar 会更简单准确
  • SimpleDateFormat 不是日期抽象。这是一种格式抽象。

标签: java date calendar simpledateformat


【解决方案1】:

基本上,您可以简单地使用Calendar,它能够根据单个字段的更改自动滚动日期的各个字段,例如...

Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, 120);
date = cal.getTime();

请仔细查看Calendar 了解更多详情。

是的,有一种使用 Joda Time 的方法,但我可以更快地输入这个示例;)

更新 JodaTime 示例

以下是使用JodaTime 的示例。您可以直接使用 JodaTime 解析 String 值,但既然您已经这样做了,我就不打扰了...

Date date = ...;
DateTime dt = new DateTime(date);
dt = dt.plusDays(120);
date = dt.toDate();

【讨论】:

【解决方案2】:

如果可能,我建议您使用Joda DateTime。优点是它非常优雅地处理 TimeZone。添加天数的方法如下:

DateTime added = dt.plusDays(120);

参考: http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html#plusDays(int)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    相关资源
    最近更新 更多