1
我發現不一致的結果,使用JavaScript date.getMonth()和date.getUTCMonth()的時候,但只有一些日期。下面的示例說明了此問題:得到月getUTCMonth差異導致
<!DOCTYPE html>
<html>
<body onload="myFunction()">
<p id="demo">Click the button to display the month</p>
<script type="text/javascript">
function myFunction()
{
var d = new Date(2012, 8, 1);
var x = document.getElementById("demo");
x.innerHTML=d;
x.innerHTML+='<br/>result: ' + d.getMonth();
x.innerHTML+='<br/>result UTC: ' + d.getUTCMonth();
}
</script>
</body>
</html>
本實施例的輸出是:
Sat Sep 01 2012 00:00:00 GMT+0100 (Hora de Verão de GMT)
result: 8
result UTC: 7
如果我改變日期(2012,2,1)的輸出是:
Thu Mar 01 2012 00:00:00 GMT+0000 (Hora padrão de GMT)
result: 2
result UTC: 2
在第一個示例中,getMonth返回7,getUTCMonth返回8.在第二個示例中,兩個返回相同的值2.
有沒有人已經遇到過這種情況?我來自葡萄牙,我認爲這與格林威治標準時間有關,但我不明白爲什麼會發生這種情況,因爲這些例子在相同的情況下運行。
感謝進步