如何在GMT时区获得片刻时间?

时间:2017-10-06 13:10:37

标签: javascript datetime momentjs

例如,如果我为上述日期对象执行类似:value.hours()的操作,则输出为16而不是18。我相信它会返回原始GMT时间的小时数,而不是像我的日期对象那样GMT + 2。我当然可以在返回的结果中添加2,但它变得很麻烦。在我的情况下,有没有办法正确地计算时间?

3 个答案:

答案 0 :(得分:0)

我认为你可以通过做文档所说的来解决它。像这样:

moment().tz("America/Los_Angeles").format();

https://momentjs.com/timezone/docs/#/using-timezones/

答案 1 :(得分:0)

显示当地时间:

value.utc();
value.hours(); // 16

要反转:

best_selected = [[2, 3, 0, 1], [1, 3, 0, 2], [1, 2, 3, 0], [1, 0, 2, 3]]
                      0              1             2             3

finalList = [[0, 1308, 17410, 16098], [1246, 0, 17557, 16244], [17675, 18002, 0, 5618], [16257, 16584, 5508, 0]]
                        0                         1                        2                   3

答案 2 :(得分:0)

我不确定你已经尝试过什么,但我把以下内容放到JSFiddle中,它就像一个魅力。我现在在美国的CST,早上8:30在这里。当我运行下面的代码片段时,我今天的下午1:30得到了这个日期,我认为差异很准确。

<强> HTML

<div id="m1"></div>

<强> 的JavaScript

var a = moment.tz(new Date(), "GMT");
document.getElementById('m1').innerHTML = a.format("YYYY MM DD; HH:mm");

Moment.js文档说明了使用本机JavaScript Moment对象创建Date对象的以下内容:

  

您可以使用预先存在的原生JavaScript Moment对象创建Date

var day = new Date(2011, 9, 16);
var dayWrapper = moment(day);
  

克隆Date对象;对Date的进一步更改不会影响Moment,反之亦然。

要快速查找上述信息,当您到达Moment.js文档时,它位于 Parse 部分下>日期