我使用以下函数来解析sql时间戳:
static function parse_sql_timestamp($timestamp, $format = 'd-m-Y')
{
return date($format, strtotime($timestamp));
}
但有时无法解析它。
echo Helpers::parse_sql_timestamp('2011-12-10 16:44:40', 'd-m-Y H:i:s'); // outputs 10-12-2011 16:44:40
echo Helpers::parse_sql_timestamp('3000-01-01 00:00:00', 'd-m-Y H:i:s'); // output 01-01-1970 01:00:00 (epoch)
我的功能有问题吗?时间戳不是strtotime
的有效字符串吗?
答案 0 :(得分:3)
日期为too far in the future for a 32 bit timestamp。
要解决这个问题,请使用PHP的Datetime
:
static function parse_sql_timestamp($timestamp, $format = 'd-m-Y')
{
$date = new DateTime($timestamp);
return $date->format($format);
}