gpt4 book ai didi

java - 时区在 Windows 服务器中无法正常工作

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:28:48 24 4
gpt4 key购买 nike

如果在 windows 机器上运行这段代码,它可以正常工作:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(new Date()));

它显示的日期和时间与时钟相同,但如果我在 Windows Server 上运行相同的代码,它会显示 -2 小时的时钟时间。

我尝试将时区设置为,

TimeZone timeZone = TimeZone.getTimeZone("Europe/Vienna");
sdf.setTimeZone(timeZone);
Then, it shows same as clock time.

我的疑问是为什么它在 Windows Server 中默认不采用时钟时区。

最佳答案

它应该始终采用正在运行的机器的时区,但在某些情况下它会失败,如报告的那样herehere .如果您确定您的服务器时区正确但 Java 使用不同的时区,您可以从命令行强制使用您选择的默认时区:

-Duser.timezone="YOUR_TIME_ZONE_HERE"

by code .您也可以尝试使用 Timezone Updater Tool由 Oracle。

查看 Java 使用的时区:

System.out.println(TimeZone.getDefault());

关于java - 时区在 Windows 服务器中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16302342/

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