我正在编写一些与Cassandra交互的Java代码。我想知道是否有任何方法可以调整显示(而不是存储)TIMESTAMP
类型列的时区。
据我所知,Cassandra的TIMESTAMP
类型基本上是自纪元[2]以来的毫秒数,因此该类型没有时区概念,观众显示UTC时间。
这是我尝试过的:
根据JetBrains documentation的说法,有一个JVM选项user.timezone
可以进行这种调整。所以我将Cassandra驱动程序的JVM选项设置为-Duser.timezone=Asia/Seoul
,但它似乎没有任何效果。也试过-Duser.timezone=UTC+09:00
,它也没有用。
有没有办法让观众在不同的时区展示时间?
Java无法将UTC+09:00
识别为时区ID。
例如,使用-Duser.timezone=Asia/Pyongyang
或更适合区域/城市格式的ID,如果您坚持给出偏移而不是时区,则使用-Duser.timezone=Etc/GMT-9
。在后一种情况下,注意倒置的标志,-9
为+09:00
。
已识别的时区ID位于List of tz database time zones。