Java 来自第三方设备的时区

Java 来自第三方设备的时区,java,spring,spring-boot,timezone,Java,Spring,Spring Boot,Timezone,我有很多用户,他们位于不同的时区。当用户使用自己的时区更改某些数据(例如编辑)时,其他人必须使用自己的时区查看这些数据。为此,我能做些什么?首先,我需要用UTC时区保存日期,当用户想要获取它时,它会请求api并获取返回的日期。之后,用户可以将该日期与其时区进行转换。其他用户也这样做。我认为它的工作原理是这样的简言之: 如果你必须处理夏令时(DST),你必须坚持使用java.time.ZonedDateTime 如果您不关心DST,请使用java.time.OffsetDateTime 在任何情

我有很多用户,他们位于不同的时区。当用户使用自己的时区更改某些数据(例如编辑)时,其他人必须使用自己的时区查看这些数据。为此,我能做些什么?首先,我需要用UTC时区保存日期,当用户想要获取它时,它会请求api并获取返回的日期。之后,用户可以将该日期与其时区进行转换。其他用户也这样做。我认为它的工作原理是这样的

简言之:

  • 如果你必须处理夏令时(DST),你必须坚持使用
    java.time.ZonedDateTime
  • 如果您不关心DST,请使用
    java.time.OffsetDateTime
  • 在任何情况下,所有通信均使用标准

假设您希望为每个用户显示LastUpdateTime,然后在数据库中保留两个字段:LastUpdateTime和LastUpdateTimeZone。LastUpdateTime将具有UTC时间,LastUpdateTimeZone将具有用户的时区。当您将数据返回到前端时,将UTC转换为用户特定的时区。可能重复的UTC听起来像您已经描述了解决方案。那么,你还要求什么?