【问题标题】:Calculating one year ago today计算一年前的今天
【发布时间】:2015-12-20 20:05:28
【问题描述】:

如何构建一个值为一年前的今天的Instant 对象?

例如,如果现在是2015-12-20T11:53,我想要一个包含2014-12-20T11:53Instant 对象。

Instant 有一个接收 Durationminus 函数,但 Duration 没有 years 函数。有一个名为Period 的类具有Period.years 函数,但运行Period.years(1).toStandardDuration() 会引发以下异常:

java.lang.UnsupportedOperationException: 无法转换为 Duration,因为此期间包含年份且年份长度不同

【问题讨论】:

标签: java jodatime


【解决方案1】:

您应该使用DateTime.minusYears(int years); 方法。

http://www.joda.org/joda-time/apidocs/index.html

【讨论】:

  • 什么对象有 minusYears 方法?
  • DateTime 有一个 minusYears 方法。您可以通过调用toDateTimeInstant 获取DateTime
  • OP 使用的是 Java 8 日期时间类而不是 JodaTime(据我所知)
  • @munyengm:你检查过他在帖子中添加的标签吗?
猜你喜欢
  • 1970-01-01
  • 2020-12-01
  • 2019-04-10
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-11
相关资源
最近更新 更多