传入时间戳或时间格式的字符串都可以自动返回时间字符串,自动判断function format_date($time) {
if (preg_match('/\d{1,4}[^\d]+\d{1,2}[^\d]+\d{1,2}(\s+\d{1,2}[^\d]+\d{1,2}[^\d]+\d{1,2})?/', $time)) {
$time = strtotime($time);
}
$t = time() - $time;
$f = array(
'31536000' => '年',
'2592000' => '个月',
'604800' => '星期',
'86400' => '天',
'3600' => '小时',
'60' => '分钟',
'1' => '秒',
);
$qh = $t > 0 ? '前' : '后';
$t = abs($t);
foreach ($f as $k => $v) {
if (0 != ($c = floor($t / (int) $k))) {
return abs($c) . $v . $qh;
}
}
}
echo format_date(time() - 1000) . "\r\n";
echo format_date(time() + 1000) . "\r\n";
echo format_date('2010-09-10') . "\r\n";
echo format_date('2020-09-10') . "\r\n";