好的,这里非常奇怪的问题,似乎无法通过这里或谷歌搜索到它。
我有一个在IRC频道上运行的机器人。最初,我从家用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有关
答案 0 :(得分:2)
此处的问题是JVM未成功检测到您的系统时区。
我之前听过一些关于此的内容,但认为它们都是固定的。你正在使用什么java版本。有关此问题的详细说明here。
要手动设置时区,您可以尝试以下选项: