2014-09-29 109 views
0

返回一個月,我有一個UNIX時間戳1411866803這相當於Sun, 28 Sep 2014 01:13:23 GMT的Javascript不能從UNIX時間戳

我想根據用戶的本地時間與時間戳獲得一個月。我用下面的功能:

<script> 
var date = new Date(1411866803); 
var month = date.getMonth(); 
alert(month); 
</script> 

這應返回9而是返回0。上述語法有問題嗎?謝謝:)

回答

2

JavaScript的時間戳以毫秒爲單位。乘以1000:

var date = new Date(1411866803000); 
var month = date.getMonth(); 
alert(month); // => 8 

此外,月份是基於0的,所以九月份是8,不9

2

Date對象以毫秒爲單位,而UNIX時間戳則使用秒。你必須將其轉換。

var date = new Date(1411866803*1000); 
 
var month = date.getMonth(); 
 
alert(month);

0

如果我在一個控制檯測試你的腳本,我得到這個日期是:

var date = new Date(1411866803) 
Date {Sat Jan 17 1970 20:11:06 GMT+1200 (NZST)} 

並根據該頁面:http://www.w3schools.com/jsref/jsref_getmonth.asp

的的getMonth()方法返回的月份(從根據當地時間,指定日期爲0到11)。

注意:1月是0,2月是1,依此類推。

2

Date對象以秒爲單位而不是秒。所以,只需投入三個零,你就會好起來的。

var date = new Date(1411866803000); 
var month = date.getMonth(); 
alert(month);