gpt4 book ai didi

Linux 中的 Java 日期问题

转载 作者:太空狗 更新时间:2023-10-29 12:21:22 26 4
gpt4 key购买 nike

好吧,这里有一个非常奇怪的问题,在这里或在谷歌中似乎找不到太多关于它的搜索。

我有一个在 IRC channel 上运行的机器人。最初,我从我的家用 PC (Windows) 上运行它并且没有任何问题。现在我已将它移至 VPS (Linux),发现它没有正确报告日期。

VPS 的日期设置正确:

bot@vps:~/bot$ date
Fri Jun 24 13:05:23 WST 2011

该机器人有两种时间功能,一种是简单的返回时间,一种是提醒系统。两者都使用 System.currentTimeMillis()。都报错时间;

[13:10:00] ( mynick) !time
[13:10:00] ( botnick) mynick: The time is now Thu Jun 23 21:10:00
GMT-08:00 2011

或:

[13:20:19] ( mynick) remind me in 1 minute test
[13:20:19] ( botnick) bmynick: Okay, I'll remind you about that on Thu Jun
23 21:21:19 GMT-08:00 2011

所以它似乎发现系统时间为 GMT-8,但我不知道为什么?有什么建议吗?

编辑:强制使用 Java 时区,现在报告正确,所以这似乎与 JVM 有关

最佳答案

这里的问题是 JVM 没有成功检测到您的系统时区。

我以前听说过一点,但认为它们都是固定的。您使用的是什么 java 版本。这个问题有详细的解释here .

要手动设置时区,您可以尝试以下选项:

  1. 导出 TZ 变量:export TZ="US/Eastern"
  2. TimeZone.setDefault(TimeZone.getTimeZone("美国/东部"))
  3. java -Duser.timezone=US/Eastern CLASS_NAME

关于Linux 中的 Java 日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6463762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com