2012-11-13 94 views
8

比方說,我在控制檯輸入以下代碼:創建JavaScript的日期UTC

var TheDate = new Date(2012, 10, 5); 
TheDate.toUTCString(); 
"Sun, 04 Nov 2012 23:00:00 GMT" (I'm +1 hour ahead of GMT) 

結果是日期實際上是設置爲本地時間。如何創建設置爲UTC的日期?如果我做TheDate.toUTCString()我想說它2012年11月5日00:00:00 GMT。

謝謝。

回答

25

使用Date.UTC()方法:

var TheDate = new Date(Date.UTC(2012, 10, 5)); 
console.log(TheDate.toUTCString()); 

返回

Mon, 05 Nov 2012 00:00:00 GMT 

Date.UTC

接受相同的參數的構造方法的最長形式,並且返回自00 1970年1月1日,在Date對象的毫秒數:00:00,世界時間。

+0

好的,謝謝你的回答! – frenchie

+0

'new Date(Date.UTC(2012,10,5));'''Date.UTC(2012,10,5);'? –

+2

@JakeT。 'Date.UTC()'只是返回時間戳(一個數字)。 'new Date(Date.UTC())'將返回一個Date對象。 – Sirko

2

我會建議你使用momentjs(

momentjs.com

),那麼所有你需要做的是:

var theDate = new Date(2012, 10, 5), 
    utcDate = moment.utc(theDate);