你这么来试试了
date("Y-m-d",$myrow['birthdate']);
我也遇到了这个问题,要不是显示1970年1月1日就是显示2038年1月19日
后来我就不用timestamp,我用datetime,用date("Y-m-d H:m:s",time());入库解决了这个问题,我不知道是不是我在windows下面使用的原因,对unix格式的时间戳支持的不是很好。

解决方案 »

  1.   

    我用的也是datetime类型,可以如楼上所说的,可以的!
      

  2.   

    我不太明了各位的意思。
    我已经把它改为datetime这种类型,然后把程序改为:
    $datetime=getdate((int)date("Y-m-d",$myrow['birthdate']));
    还是一样。
    我的目的是想分别取出birthdate中的年、月、日的数字
      

  3.   

    可以把取得的datetime类型字符串用分割的方式分别得到年、月、日
      

  4.   

    用time()贮存吧,这样的兼容性要高不少
    取值后用strftime()可以格式化时间BTW:有些服务器不支持MYSQL的时间功能,只能自己用PHP去处理
      

  5.   

    麻烦能不能具体一点,我真的不太明白(莱鸟级啊)。
    我改成这样还是不行:
    $datetime=date("Y-m-d",$myrow['birthdate']);
    $date_elements = explode("-" ,$datetime); 
    echo $date_elements[0]"年";
    echo $date_elements[1]"月";
    echo $date_elements[2]"日"; 
      

  6.   

    你先 
    echo $myrow['birthdate'];exit; 
    看看显示的日期对不对
    如果正常的话可以使用如下语句
    $b=$myrow['birthdate'];
    echo date("Y",strtotime($b))"年";
    echo date("n",strtotime($b))"月";
    echo date("j",strtotime($b))"日";