PHP和MYSQL日期错误

时间:2015-02-26 22:25:05

标签: php mysql

这是对人类时间功能的重视......

PHP:

function humanTiming($tm,$rcs = 0)
{
       $cur_tm = time(); $dif = $cur_tm-$tm;
       $pds = array('second','minute','hour','day','week','month','year','decade');
       $lngh = array(1,60,3600,86400,604800,2630880,31570560,315705600);
       for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);

       $no = floor($no); if($no <> 1) $pds[$v] .='s'; $x=sprintf("%d %s ",$no,$pds[$v]);
       if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0)) $x .= time_ago($_tm);
       return $x;
}

该功能工作正常,但是当我通过My​​SQL时间戳时,它会出现错误并显示40年前的不切实际的日期......

如果我将MySQL时间戳发送到函数 ex:

2015-02-25 12:23:34

这是我到达的错误返回此

4 decades

1 个答案:

答案 0 :(得分:0)

使用strtotime('2015-02-25 12:23:34')应该做的伎俩。

strtotime将字符串转换为unix时间戳,这是函数中需要的。

如果将字符串传递给2015-02-25 12:23:34之类的函数,则会将其转换为0作为unix时间戳。自1970年1月1日以来的0秒,这是40多年前的事了。 有关此问题的一些文档http://unixtimestamp.com