我在使用 JavaScript date.getMonth() 和 date.getUTCMonth() 时发现结果不一致,但仅限于某些日期。以下示例演示了该问题:
\n\n<!DOCTYPE html>\n<html>\n<body onload="myFunction()">\n\n<p id="demo">Click the button to display the month</p>\n\n<script type="text/javascript">\nfunction myFunction()\n{\nvar d = new Date(2012, 8, 1);\nvar x = document.getElementById("demo");\nx.innerHTML=d;\nx.innerHTML+=\'<br/>result: \' + d.getMonth();\nx.innerHTML+=\'<br/>result UTC: \' + d.getUTCMonth();\n\n}\n</script>\n\n</body>\n</html>\nRun Code Online (Sandbox Code Playgroud)\n\n这个例子的输出是:
\n\nSat Sep 01 2012 00:00:00 GMT+0100 (Hora de Ver\xc3\xa3o de GMT)\nresult: 8\nresult UTC: 7\nRun Code Online (Sandbox Code Playgroud)\n\n如果我将日期更改为 (2012, 2, 1),则输出为:
\n\nThu Mar 01 2012 00:00:00 GMT+0000 (Hora padr\xc3\xa3o de GMT)\nresult: 2\nresult UTC: 2\nRun Code Online (Sandbox Code Playgroud)\n\n在第一个示例中,getMonth 返回 7,getUTCMonth 返回 8。在第二个示例中,两者返回相同的值 2。
\n\n有人已经经历过这种情况吗?我来自葡萄牙,我认为这与我的格林尼治标准时间有关,但我不明白为什么会发生这种情况,因为这些示例是在相同的情况下运行的。
\n\n提前致谢
\n| 归档时间: |
|
| 查看次数: |
8881 次 |
| 最近记录: |