返回一個月,我有一個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
。上述語法有問題嗎?謝謝:)
返回一個月,我有一個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
。上述語法有問題嗎?謝謝:)
JavaScript的時間戳以毫秒爲單位。乘以1000:
var date = new Date(1411866803000);
var month = date.getMonth();
alert(month); // => 8
此外,月份是基於0的,所以九月份是8
,不9
。
Date對象以毫秒爲單位,而UNIX時間戳則使用秒。你必須將其轉換。
var date = new Date(1411866803*1000);
var month = date.getMonth();
alert(month);
如果我在一個控制檯測試你的腳本,我得到這個日期是:
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,依此類推。
Date對象以秒爲單位而不是秒。所以,只需投入三個零,你就會好起來的。
var date = new Date(1411866803000);
var month = date.getMonth();
alert(month);