我有一个php日期,我想知道php日期和今天的日期的区别。代码为:函数countdown(counter,year,month,day,hour,minute,second){
var datePhp = new Date(year, month, day, hour, minute, second); var today=new Date(); var days=0; var hours=0; var minutes=0; var seconds=0; var sumeDays = 0; if (datePhp>today){
var difference=(datePhp.getTime()-today.getTime())/1000;
days=Math.floor(difference/86400);
difference=difference-(86400*days);
if(days==1){
sumeDays=days*24;
}
hours=Math.floor(difference/3600);
printHours=Math.floor(difference/3600)+sumeDays;
difference=difference-(3600*hours);
minutes=Math.floor(difference/60);
difference=difference-(60*minutes);
seconds=Math.floor(difference);`
$("#counter" + counter).html(printHours + ' Hours ' + minutes + ' Minutes ' + seconds + ' Seconds');
if (days>0 || hours>0 || minutes>0 || seconds>0){
setTimeout("countdown("+counter+", "+year+","+month+","+day+","+hour+","+minute+","+second+")",1000)
}代码运行,但运行错误,因为总是说少于24小时。例如,如果phpDate是4/06/2014 09:30 (其中4是欧洲日,6是6月),今天是2/06/2014 09:30 (其中2是欧洲日,6是6月)。代码说phpDate只有24小时了。
html中的代码是:
<div id='counter<?php echo $i ?>'></div>
<script type="text/javascript">
countdown(<?php echo $i?>, <?php echo $year?>, <?php echo $month?>, <?php echo $day?>, <? php echo $hour?>, <?php echo $minute?>, <?php echo $second?>);
</script> 发布于 2014-06-02 16:28:01
p = new Date('4/06/2014 09:30')
>Sun Apr 06 2014 09:30:00 GMT+0530 (India Standard Time)
n = new Date('2/06/2014 09:30')
>Thu Feb 06 2014 09:30:00 GMT+0530 (India Standard Time)
diff = p.getTime() - n.getTime()
>5097600000
diffHours = diff / (1000 * 60 * 60)
>1416对我来说没问题,1416小时从2月6日到4月6日
我不完全理解你的代码,但是当我使用下面的代码时,我得到了48小时数,这看起来很好
var datePhp = new Date(2014, 5, 4, 9, 30, 0),
today = new Date(2014, 5, 2, 9, 30, 0);
if (datePhp > today) {
var difference = (datePhp.getTime() - today.getTime()) / (1000*60*60);
document.getElementById('res').innerHTML = difference;
}这里有一把同样的小提琴。http://jsfiddle.net/tQ9jW/
如果你能解释为什么你要做所有这些复杂的事情,如果你只是需要时间上的差异,我们可以研究调试代码。
https://stackoverflow.com/questions/23990000
复制相似问题