看来要打你自己的嘴巴了gmdate是按格林威治时间计算的,北京时间9点不就是格林威治时间1点吗?
date才是按当地时间计算的

解决方案 »

  1.   

    哈哈, xuzuning(唠叨) 老大语言尖锐。
    看手册别看一半
      

  2.   

    多谢指教,刚才做了一下测试,发现
    <?php
    $sDate = date("Y-M-d H:i:s", time());
    print($sDate."<br>");
    $nDate = strtotime($sDate);
    print($nDate."<br>");
    $sDate2 = date("Y-M-d H:i:s", $nDate);
    print($sDate2."<br><br>");
    $sDate = date("Y-m-d H:i:s", time());
    print($sDate."<br>");
    $nDate = strtotime($sDate);
    print($nDate."<br>");
    $sDate2 = date("Y-m-d H:i:s", $nDate);
    print($sDate2."<br>");?>输出
    2004-Dec-23 11:20:46
    1874460046
    2029-May-26 11:20:462004-12-23 11:20:46
    1103772046
    2004-12-23 11:20:46对比可以看到第一部分转回来的日期已经是错误的了。那位前辈做过研究,有什么需要注意的地方,免得以后踩地雷?
      

  3.   

    <?php
    $sDate = date("Y-M-D H:i:s");
    print($sDate."<br>");
    $nDate = strtotime($sDate);
    print($nDate."<br>");
    $sDate2 = date("Y-M-D H:i:s", $nDate);
    print($sDate2."<br><br>");
    $sDate = date("y-m-d H:i:s");
    print($sDate."<br>");
    $nDate = strtotime($sDate);
    print($nDate."<br>");
    $sDate2 = date("y-m-d H:i:s", $nDate);
    print($sDate2."<br>");?>y-m-d要么就全大写,要么就全小写。
      

  4.   

    2004-Dec-23 11:20:46
    这个时间格式strtotime是不认的
    strtotime() 的行为是依照 GNU 日期语法的,请看看 GNU 手册中的 http://www.gnu.org/software/tar/manual/html_chapter/tar_7.html