【问题标题】:Using getUTCHours and adding the UTC offset in javascript使用 getUTCHours 并在 javascript 中添加 UTC 偏移量
【发布时间】:2015-01-29 04:40:06
【问题描述】:

有人可以解释如何将 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);

【问题讨论】:

    标签: javascript datetime


    【解决方案1】:

    这是 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);
    

    【讨论】:

    • 非常感谢!像魅力一样工作。
    【解决方案2】:

    不完全确定你为什么这样做,只是一个提示:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-11
      • 1970-01-01
      • 2014-01-09
      • 2014-02-04
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多