如果在 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 中默认不采用时钟时区。