使用 getUTCHours 并在 javascript 中添加 UTC 偏移量

Using getUTCHours and adding the UTC offset in javascript

本文关键字:添加 UTC 偏移量 javascript getUTCHours 并在 使用      更新时间:2023-09-26

有人可以解释如何将UTC偏移量添加到getUTCHours,以便它返回正确的小时数吗? 我知道现在是MST晚上9:36。 我们目前处于夏令时,因此我们的 UTC 偏移量为 -6。 所以我希望如果我将偏移量添加到 getUTCHours,那么我应该得到 21。 相反,我得到-2。 我做错了什么?

var offset=-6;
var dt = new Date();
var h=dt.getUTCHours();
var hour=h+offset;
console.log(hour);

这是 UTC 时间的第 29 个,所以小时只有 4 小时。比较日期对象的 getDate 和 getUTCDate - 如果它们不同,请将您的小时数增加 24。

var offset=-6;
var dt = new Date();
var h=dt.getUTCHours();
var hour=h+offset;
if(dt.getDate()!=dt.getUTCDate()){
    hours+=24;
}
console.log(hour);

不太确定为什么要这样做,只是一个提示:

var dt = new Date(2015,0,1,21,30);
var ltm = ( dt.getUTCHours()*60 ) - dt.getTimezoneOffset();
var localTimeString = Math.floor(ltm / 60) + ":" + (ltm % 60);//21:30