gpt4 book ai didi

javascript - 具有已知偏移量且没有夏令时的已知位置的时间

转载 作者:行者123 更新时间:2023-12-05 01:49:32 25 4
gpt4 key购买 nike

关于 Javascript 时间问题的数百篇帖子,我确信这个问题已经得到解决,但到目前为止我已经浏览了几十篇帖子,但没有人回答我的具体问题。我知道偏移量 (-7),并且在美国的这个特定州(亚利桑那州)没有夏令时。我只想向任何用户显示亚利桑那州的时间。我看过的所有帖子似乎都暗示我需要使用

return new Date().getTimezoneOffset();

从本地计算机作为我计算的一部分,但我不确定为什么有必要这样做?这是一个可行的解决方案吗?

const now = new Date();
return {
hour: (now.getUTCHours() -7)
minute: now.getMinutes(),
};

最佳答案

亚利桑那州目前没有夏令时,但这并不意味着永远不会有。当然,不太可能 - 但并非不可能。

一个更强大的解决方案,它也考虑了用户的区域设置格式偏好,如下所示:

const s = new Date().toLocaleTimeString(undefined, {
timeZone: 'America/Phoenix'
});
console.log(s);

这适用于任何 IANA time zone identifier ,是否在适用时考虑 DST - 取决于时区。

如果您想要问题中的确切输出,请尝试这样的操作:

const s = new Date().toLocaleString('en', {
timeZone: 'America/Phoenix',
hour12: false,
hour: 'numeric',
minute: 'numeric'
});
const p = s.split(':');
const o = {
hour: parseInt(p[0]),
minute: parseInt(p[1])
};
console.log(o);

关于javascript - 具有已知偏移量且没有夏令时的已知位置的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74073328/

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