由于一个或另一个原因,此代码示例提供48小时而不是24小时,任何人都可以解释为什么新的月份的UTC时间在javascript错误orw hat我做错了吗?谢谢你帮助我。
<script type="text/javascript">
function myFunction()
{
var d = (Date.UTC(2012,07,01) - Date.UTC(2012,06,30)) / 1000 / 3600;
alert(d);
}
myFunction();
</script>
答案 0 :(得分:2)
因为月6
是7月,因为JavaScript日期中的月份为零,而7月份则为31天。
如果您想要7月1日到6月30日之间的小时数,您需要:
var d = (Date.UTC(2012,06,01) - Date.UTC(2012,05,30)) / 1000 / 3600;
或更一般地说:
function hoursBetween(startYear, startMonth, startDay, endYear, endMonth, endDay){
var d1 = Date.UTC(startYear, startMonth-1, startDay );
var d2 = Date.UTC(endYear, endMonth-1, endDay );
return (d2-d1)/(3600*1000);
}
有关详情,请参阅Date.UTC
上的文档。