我是java 8的新手,我想要在五年之前获得,这是我的代码:
Instant fiveYearsBefore = Instant.now().plus(-5,
ChronoUnit.YEARS);
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Years
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我怎么做?
JB *_*zet 39
ZonedDateTime.now().minusYears(5).toInstant()
Run Code Online (Sandbox Code Playgroud)
这将使用您的默认时区来计算时间.如果您想要另一个,请在其中指定now().例如:
ZonedDateTime.now(ZoneOffset.UTC).minusYears(5).toInstant()
Run Code Online (Sandbox Code Playgroud)
小智 11
根据Javadoc,Instant只接受从nanos到days Instant.plus(long amountToAdd,TemporalUnit unit)的时间单位;
您可以使用LocalDateTime.您以相同的方式使用它,但它将支持YEARS级别的操作.
Instant不支持YEARS的加法或减法.
如果您只需要没有时间的日期,则可以使用此LocalDate:
LocalDate date = LocalDate.now();
date = date.plus(-5, ChronoUnit.YEARS);
Run Code Online (Sandbox Code Playgroud)
否则,您可以使用LocalDateTime.
| 归档时间: |
|
| 查看次数: |
9903 次 |
| 最近记录: |