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.
有没有人已经遇到过这种情况?我来自葡萄牙,我认为这与格林威治标准时间有关,但我不明白为什么会发生这种情况,因为这些例子在相同的情况下运行。
感谢进步