Javascript UTC时间(如果月份发生变化,则为48小时)
出于这样或那样的原因,这个代码示例给出的是48小时而不是24小时,有人能解释一下为什么新月份的UTC时间出现javascript错误,或者我做错了什么吗?谢谢你帮我Javascript UTC时间(如果月份发生变化,则为48小时),javascript,date,Javascript,Date,出于这样或那样的原因,这个代码示例给出的是48小时而不是24小时,有人能解释一下为什么新月份的UTC时间出现javascript错误,或者我做错了什么吗?谢谢你帮我 <script type="text/javascript"> function myFunction() { var d = (Date.UTC(2012,07,01) - Date.UTC(2012,06,30)) / 1000 / 3600; alert(d); }
<script type="text/javascript">
function myFunction()
{
var d = (Date.UTC(2012,07,01) - Date.UTC(2012,06,30)) / 1000 / 3600;
alert(d);
}
myFunction();
</script>
函数myFunction()
{
var d=(UTC日期(2012,07,01)-UTC日期(2012,06,30))/1000/3600;
警戒(d);
}
myFunction();
因为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);
}
有关详细信息,请阅读上的文档。非常感谢您的帮助,我不知道月份是以零为基础的。@user149323不客气。如果你觉得这个答案完全解决了你的问题,你应该这样做。