使用 OffsetDateTime.now() 时如何避免使用毫秒

sye*_*eed 0 java spring rest-assured

我正在使用OffsetDateTime.now()获取 UTC 格式的当前日期,结果也包括毫秒。我不想发送毫秒。有没有办法可以在不使用 split 的情况下从 OffsetDateTime.now() 中删除毫秒。

Current format: 2021-02-11T11:27:27.846871-08:00
Format i am looking: 2021-02-10T16:04:00-08:00
Run Code Online (Sandbox Code Playgroud)

Bas*_*que 6

太长了;博士

myOffsetDateTime.truncatedTo( ChronoUnit.SECONDS ) 
Run Code Online (Sandbox Code Playgroud)

细节

诸如此类的日期时间类OffsetDateTime不是字符串。他们没有格式。不要考虑字符串操作,而应考虑日期时间逻辑。

该类OffsetDateTime提供了一种truncatedTo将较小零件设置为零的方法。传递 aChronoUnit来指定截断的粒度。指定ChronoUnit.SECONDS将秒分数(纳秒数)设置为零。

OffsetDateTime nowUtc = OffsetDateTime.now( ZoneOffset.UTC ) ;
OffsetDateTime nowUtcTruncated = nowUtc.truncatedTo( ChronoUnit.SECONDS ) ;
Run Code Online (Sandbox Code Playgroud)