在Java中进行时区转换时,结果很奇怪

来源:爱站网时间:2021-09-16编辑:网友分享
我正在使用需要使用时区的Java应用程序。它以固定的时间间隔将一些信息保存到带有时间戳的数据库中。这是将其转换为UTC的代码:public static ...

问题描述


我正在使用需要使用时区的Java应用程序。它以固定的时间间隔将一些信息保存到带有时间戳的数据库中。这是将其转换为UTC的代码:

public static ZonedDateTime toUTC(LocalDateTime date, ZoneId zone) {
   ZonedDateTime from = date.atZone(zone);
   return from.withZoneSameInstant(utc);
}

这很好,直到我尝试从数据库中轮询数据。我必须创建两个UTC时间戳以获取当天的信息。以我为例,我希望这些邮票在第二天的上午7点到晚上7点之间出现,但是我第二天的下午5点到下午5点之间。知道为什么会这样吗?

思路:


保存到数据库可能是这里的问题。到底是怎么做的?该方法返回的ZonedDateTime实例包含2个字段:秒数(时间戳)和有关时区的信息。在该对象到数据库的旅行期间,有关时区的信息可能会丢失。

上一篇:使用PropertySource的每个环境的Spring boot负载配置

下一篇:如何在春季启动时模拟可选的Bean?

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载