Java不通过JVM设置时区时间

Posted gamecenter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java不通过JVM设置时区时间相关的知识,希望对你有一定的参考价值。

我的系统时区和存储在数据库中的时区位于东部(美国/纽约)。我使用的对象使用了日期类。我有一段代码将它解析为ZonedDateTime,然后将其转换为用户的时区进行显示。例如:(美国/纽约)->(美国/洛杉矶)。

 

现在,我想把这个日期,在转换后的美国/洛杉矶,带回(美国/纽约)。例如:(美国/洛杉矶)->(美国/纽约)。请注意,日期时间现在存储在日期对象中,而我的系统时间是美国/纽约。

 

如何在美国/洛杉矶区域创建ZonedDateTime,而不需要系统转换时间?

 

系统认为我的约会对象在美国/纽约,然后改变时间。

 

我尝试使用即时、字符串等创建ZonedDateTime作为美国/洛杉矶。但是每一次试验,JVM都会把我的日期转换到美国洛杉矶,并改变时间-3小时。

ZonedDateTime result = ZonedDateTime.of(
                           LocalDateTime.of(LocalDate.of(...),
                           LocalTime.of(...)),
                           ZoneId.of("NY")
                       );

以上是关于Java不通过JVM设置时区时间的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中的时区设置

如何设置 JVM 时区

怎么实时同步java虚拟机与操作系统时区 及JVM启动后再更改操作系统时区或时间也能保持其同步? new date() 时差8个小时的解决方案

SimpleDateFormat 在不同时区 JVM 中的行为不同

时区java项目new date()时间和服务器时间(数据库)不一致

java idea打印时间和当前时间不一样