gpt4 book ai didi

java - 为什么 java.util.Date 给我错误的时间?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:12 24 4
gpt4 key购买 nike

System.out.println(new Date());

Thu Feb 23 04:57:57 ACT 2012

我在 main 方法中运行它。我的系统当前时间是 PKT。但它给了我行动时间。

有什么想法吗?如何获得正确的系统时间?

enter image description here

最佳答案

问题似乎与时区有关,而不是 Date 值本身。所以不是打印出当前日期,而是使用类似这样的东西来打印出当前时区:

import java.util.TimeZone ;

public class Test {
public static void main(String[] args) throws Exception {
TimeZone zone = TimeZone.getDefault();
System.out.println(zone.getDisplayName());
System.out.println(zone.getID());
}
}

例如,对我来说打印:

Greenwich Mean Time
Europe/London

一旦您了解有关 Java 认为您的默认时区是什么的更多详细信息,您就可以开始寻找它认为的原因。关于您如何运行非标准的 Java 有什么问题吗?是否有任何看起来可疑的不正确时区的环境变量?

您可能还想打印出以下系统属性,这些属性在确定时区时会用到:

user.timezone
user.country
java.home

(在 获取默认时区之前将它们打印出来 - user.timezone 被设置为获取它的一部分,如果之前没有设置的话。)

关于java - 为什么 java.util.Date 给我错误的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9410806/

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