gpt4 book ai didi

java HOUR_OF_DAY 在不同的系统上不同

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

我在 Windows 和 Solaris 机器上运行相同的 Java 代码。有部分代码会产生不同的结果:

Calendar cd = Calendar.getInstance();
int hour = cd.get(Calendar.HOUR_OF_DAY);
int off = cd.get(Calendar.ZONE_OFFSET)/3600/1000;
System.out.println("current hour " + hour + ", zone offset " + off);

如果我在本地时间 16:15 运行此代码,Windows 机器返回 16 作为小时和时区偏移量作为 2(我在 GMT+2 时区,此时正在夏令时)。在 Solaris 上,我得到 15 作为小时和相同的区域偏移量。 Solaris 上的“date”命令显示时间正确并显示正确的时区。 Solaris 运行 Java 1.4 而 Windows 运行 1.5,尽管我不确定这是否有任何区别。知道为什么结果不同吗?

最佳答案

我猜一台机器没有配置夏令时。

查询字段 Calendar.DST OFFSET 应该以毫秒为单位返回夏令时偏移量。

关于java HOUR_OF_DAY 在不同的系统上不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3813204/

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