请算上时差~~北京时间不是GMT另外式子中出现了一些错误~~~
例如这个date('Y')-1970)*365获得的是从北京时间1970年一月一日0时0分到2004年刚好结束的时候的年数~
而在这里应该取得的是已经过去了的整年数,而不是包括2004!
后面的存在同样的错误!

解决方案 »

  1.   

    这个算法是错的,,润年是这样的
    能被四整除 AND 不能被100整除  OR 能被四百整除的。。很显然,这段程序是为了得到1970至今的秒数,即UNIX时间戳记,,但错了
      

  2.   

    echo $t1=date("U");
    echo '<br>';
    $j=0;
    for($i=1970;$i<date('Y');$i++){
    if($i%4==0) $j++;
    }
    echo $t2=((date('Y')-1970)*365+$j+date('z'))*24*60*60+date('H')*60*60+date('i')*60+date('s');
    echo '<br>';
    echo ($t1-$t2)/60/60;输出
    1100250571
    1100279371
    -8 《==  差8小时,时差问题