时间格式转换 X小时前

本文介绍了一款PHP实用工具,该工具能够将指定格式的时间字符串(如YY-MM-DD HH:II:SS)转换为易于理解的相对时间描述,例如“刚刚”、“1分钟前”等。通过计算当前时间和给定时间之间的差值,并根据这个差值返回合适的时间描述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
* 时间转换
* @param $date //YY-MM-DD HH:II:SS
* @return string
*/
public static function timeChange($date)
{
$str = '';
$timer = strtotime($date);
$diff = $_SERVER['REQUEST_TIME'] - $timer;

$day = floor($diff / 86400);
$free = $diff % 86400;
if($day > 0)
{
return $day."天前";
}
else
{
if($free>0)
{
$hour = floor($free / 3600);
$free = $free % 3600;
if($hour>0)
{
return $hour."小时前";
}
else
{
if($free>0)
{
$min = floor($free / 60);
$free = $free % 60;
if($min>0)
{
return $min."分钟前";
}
else
{
if($free>0)
{
return $free."秒前";
}
else
{
return '刚刚';
}
}
}
else
{
return '刚刚';
}
}
}
else
{
return '刚刚';
}
}
}


///////////

/**
 * 时间转换
 * @param $date //YY-MM-DD HH:II:SS
 * @return string
 */
public static function timeChange($date)
{
    $str = '刚刚';
    $timer = strtotime($date);

    $diff = $_SERVER['REQUEST_TIME'] - $timer;

    $day = floor($diff / 86400);

    $free = $diff % 86400;

    if($day > 0 && $day < 3) {
        $str =  $day."天前";
    }else if ($day > 3){
        $str =  date("Y-m-d H:i:s",$timer);
    }else {
        if($free > 0) {
            $hour = floor($free / 3600);
            $free = $free % 3600;
            if($hour > 0) {
                $str =  $hour."小时前";
            } else {
                if($free > 0) {
                    $min = floor($free / 60);
                    $free = $free % 60;
                    if($min > 0) {
                        $str =  $min."分钟前";
                    } else {
                        if($free > 0) {
                            $str =  $free."秒前";
                        }
                    }
                }
            }
        }
    }
    return $str;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑漆#000000

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值