2017-10-06 141 views
-3

例如,如果我對上述日期對象做如下操作:value.hours(),我將輸出16而不是18。我相信它會在原來的GMT時間內返回小時,而不是在我的日期對象GMT + 2中。我當然可以將2添加到返回的結果中,但它變得很麻煩。有什麼方法可以在我的情況下正確地獲得小時數?如何在GMT時區的moment.js中獲得小時?

+3

一定要添加您已經嘗試過的任何代碼,以便我們能夠更好地理解您的問題。你明確了你以後的信息;然而,不知道你已經嘗試了什麼,我們最終可能會雙重處理你的問題,並給你提供已經失敗的事情的答案。 – lxxtacoxxl

+0

@typos解決了這個問題嗎? – aaron

+0

@aaron是的,沒有一個答案與它有任何關係。在有答案的時候我不能刪除這個問題。 – typos

回答

0

要顯示本地時間:

value.local(); 
value.hours(); // 18 

爲了扭轉:

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

我不知道作爲一個你已經什麼嘗試過,但我把以下內容放入JSFiddle中,它像一個魅力一樣工作。我目前在美國的CST,現在是早上8點半。當我運行下面的代碼片段時,我在今天下午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對象3210對象:

您可以使用預先存在的本機JavaScript Date對象創建Moment

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

此克隆中Date對象;對Date的進一步更改不會影響Moment,反之亦然。

要找到上述快速引述的信息,當你到達Moment.js文檔,它位於下解析下分節段日期