gal*_*arm 21 java java-8 java-time
我需要以UTC格式保存并显示我的服务器中发生的事件的日期时间.我可以选择使用Instant.now()或LocalDateTime.now(ZoneOffset.UTC)
我什么时候应该更喜欢一个?
ass*_*ias 23
这取决于您想要对数据做什么.这两种类型在概念上是不同的.
想象一下,事件发生在UTC时间早上8点.
一旦你有了LocalDateTime,你就丢失了时区信息,它在技术上可能在任何时区 - 所以可能是UTC时间早上8点或东部时间早上8点(= UTC时间下午1点).这意味着您必须"知道"您的约定是LocalDateTime实际上是UTC时刻.
如果您使用Instant,则无论时区如何,您都可以确切地知道什么时间被引用,并且不需要外部"知识"或约定.但是,您没有时区信息,因此您不知道它是英国时间上午9点(欧洲中部时间)上午8点或美国东部时间凌晨3点(但这些都代表同一时刻).
最后,如果你需要时刻和它应该与哪个时区相关联,你可以使用ZonedDateTime或OffsetDateTime来获取Instant和时区信息.
| 归档时间: |
|
| 查看次数: |
4653 次 |
| 最近记录: |