程序判断逻辑
■日期的年份 是今年
□如果时间小于60秒
刚刚
□如果时间大于60秒 小于60分钟
X分钟前
□如果时间 小于24小时
X小时前
□如果是昨天
昨天 XX:XX
□如果是其他
06月12日 13:13
■日期的年份不是今年
2015年05月05日 10:10
程序代码
<?php
$create = date ( '2019-12-16 14:23:01' );
$current = date ( 'Y-m-d H:i:s' );
echo getformatter ( strtotime ( $create ), strtotime ( $current ) );
/**
* 时间转换
*
* @param $create 对象日时时间戳
* @param $current 系统日时时间戳
* @return 转换后的字符串
*/
function getformatter($create, $current) {
if (date ( "Y", $current ) == date ( "Y", $create )) {
$time = $current - $create;
if ($time < 60) {
return "刚刚";
}
$sec = $time / 60;
if ($sec < 60) {
return round ( $sec ) . "分钟前";
}
$hours = $time / 3600;
if ($hours < 48) {
if (date ( 'Ymd', $create ) + 1 == date ( 'Ymd', $current )) {
return "昨天 " . date ( "H:i", $create );
} elseif ($hours < 24) {
return round ( $hours ) . "小时前";
}
}
return date ( "m月d日 H:i", $create );
} else {
return date ( "Y年m月d日 H:i", $create );
}
}
?>