php 传入时间变更函数

 显示刚刚,几分钟前,昨天,几天前,具体时间逻辑

时间格式为:2023-11-27 17:28:59
 
function relativeTime($dateTimeString) {
        $currentTime = new \DateTime();
        $commentTime = new \DateTime($dateTimeString);
        $interval = $currentTime->diff($commentTime);

        // 如果差异在60秒以内
        if ($interval->s < 60 && $interval->i == 0 && $interval->h == 0 && $interval->d == 0) {
            return '刚刚';
        }
        // 如果评论是今天的,且差异小于一小时
        elseif ($currentTime->format('Y-m-d') == $commentTime->format('Y-m-d')) {
            if ($interval->h == 0) {
                return $interval->i . '分钟前';
            }
            return $commentTime->format('H:i'); // 显示上午/下午 时间
        }
        // 如果评论是昨天的
        $yesterdayTime = clone $currentTime;
        $yesterdayTime->modify('-1 day');
        if ($yesterdayTime->format('Y-m-d') == $commentTime->format('Y-m-d')) {
            return '昨天 ' . $commentTime->format('H:i');
        }
        // 如果评论是一周内的
        elseif ($interval->days > 0 && $interval->days <= 7) {
            return $interval->days . '天前';
        }
        // 超过一周,显示具体日期
        else {
            return $commentTime->format('Y-m-d');
        }
    }

你可能感兴趣的:(php)