使用date()函数会更方便点.
$publishday = date("Y/n/d",$myrow["lishtime"]);

解决方案 »

  1.   

    不行呀,还是2038/1/19应该不是两个函数的问题,是mysql存进数据库的timestamp与PHP的不一致,不知道要做什么处理??????????救命呀!
      

  2.   

    $publishday = date("Y/M/d",$myrow["lishtime"]);
      

  3.   

    $myrow["lishtime"]数据有问题吧?
    echo date('Y/n/d');结果也是2038/1/19?
      

  4.   

    我现在是在select的时候用mysql的函数先转好的。真不知道PHP是怎么回事,靠
      

  5.   

    楼上说的转换方法应该是正确的,确定你的mysql有没有问题在mysql的终端下运行 select now();显示出来看看是什么mysql的timestamp不是很好用,我记得是只要select一次,timestamp就会更新
      

  6.   

    哦,上面说错,好像是更新一次
    例如update和insert,不更新timestamp字段 这个字段只要有更新的操作就会更新
      

  7.   

    还有,date和getdate这样操作是错误的$myrow["lishtime"]取出来的时候已经变为时间字符串了,而不是timestamp了你可以直接echo了如果你要用date来变为你想要的格式,需要再转换一次echo date("Y/n/d",strtotime($myrow["lishtime"]));timestamp最好在php转好用int10 存到数据库中
      

  8.   

    to faucet(大水龙头) :果然!timestamp一update就变,靠垃圾!我现在第一件就是改DB!!!!!!!!!!!!!!
      

  9.   

    $arr_time=getdate(strtotime($myrow["lishtime"]));
    $publishday=$arr_time["year"]."/".$arr_time["mon"]."/".$arr_time["mday"];
      

  10.   

    strtotime不行Warning: getdate(): Cannot perform date calculation in ............
      

  11.   

    昏,这个问题还在啊你如果用timestamp存,就可以用strtotime,timestamp虽然本质上是从
    1970开始的秒数,但是select出后就是"2004-01-02 12:00:00" 的格式如果你不用timestamp存了,用int存了,就不要strtotime了