PHP时间格式化显示(刚刚、几分钟前、几小时前、昨天等)
<?php
/**
* 文章时间格式化
* @param int|string $time 时间戳|日期
* @param bool $isYear 是否显示年份
* @return string
*/
function formatTime($time, $isYear = false) {
if(!$time) {
return '';
}
if (!is_numeric($time)) {
$time_new = strtotime($time);
if (!$time_new) {
return $time;
} else {
$time = $time_new;
}
}
$now = time();
if(($dur = $now - $time) <= 600) {
$time = '刚刚';
} elseif (date('Ymd', $now) == date('Ymd', $time)) {
if(($dur = $now - $time) < 3600) {
$temp = floor($dur/60);
if($temp == 60) {
$time = '1小时前';
} else {
$time = $temp . '分钟前';
}
} else {
$time = floor($dur/3600) . '小时前';
}
} else {
if(date('Ymd',strtotime('-1 day')) == date('Ymd', $time)) {
$time = sprintf('昨天 %s:%s', date('H', $time), date('i', $time));
} else {
if ($isYear && date('Y') > date('Y', $time)) {
$time = date('y-n-j', $time);
} else {
$time = sprintf('%s-%s', date('n', $time), date('j', $time));
}
}
}
return $time;
}
# 执行效果如下:
echo formatTime(time()); // 刚刚
echo formatTime(1682659570);// 昨天 05:26
echo formatTIme("-3 day"); // 4-26
版权声明:
作者:tianya
链接:https://tya.zone/p/110.html
来源:天涯博客
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
PHP时间格式化显示(刚刚、几分钟前、几小时前、昨天等)
<?php
/**
* 文章时间格式化
* @param int|string $time 时间戳|日期
* @param bool $isYear 是否显示年份
* @retur……

共有 0 条评论