我有一个java.time.OffsetDateTime,我想将其转换为java.sql.Timestamp。由于Timestamp不存储任何偏移量信息,因此我将所有日期/时间存储为UTC。

如何将OffsetDateTime转换为UTC中的Timestamp

编辑:

我相信这是答案,但似乎隐瞒UTC的方式相当复杂:

OffsetDateTime dateTime = OffsetDateTime.now();
Timestamp timestamp = Timestamp.valueOf(dateTime.atZoneSameInstant(ZoneId.of("Z")).toLocalDateTime());

最佳答案

这将是进行转换并确保使用UTC的一种方式。我认为这比使用时代秒提出的解决方案更干净。

Timestamp test = Timestamp.valueOf(entityValue.atZoneSameInstant(ZoneOffset.UTC).toLocalDateTime());

09-10 07:18
查看更多