typecho发表时间于几天前

将以下代码加入functions.php

/*人性化时间*/
function human_time_diff($from, $to = '') {
    if (empty($to)) {
        $to = time();
    }
    $diff = abs($to - $from);
    $year_diff = floor($diff / (365.25 * 86400)); // 平均每年 365.25 天
    if ($year_diff >= 1) {
        if ($year_diff == 1) {
            return ' 1 年前';
        }
        return ' ' . $year_diff . ' 年前';
    }
    $month_diff = floor(($diff - $year_diff * 365.25 * 86400) / (30.44 * 86400)); // 平均每月 30.44 天
if ($month_diff >= 1 && $month_diff < 12) {
    if ($month_diff == 1) {
        return ' 1 个月前';
    }
    return ' ' . $month_diff . ' 个月前';
}
    $day_diff = floor($diff / 86400);
    if ($day_diff >= 1) {
        if ($day_diff == 1) {
            return '昨天';
        }
        return ' ' . $day_diff . ' 天前';
    }
    $hour_diff = floor(($diff - $day_diff * 86400) / 3600);
    if ($hour_diff >= 1) {
        if ($hour_diff == 1) {
            return ' 1 小时前';
        }
        return ' ' . $hour_diff . ' 小时前';
    }
    $minute_diff = floor(($diff - $day_diff * 86400 - $hour_diff * 3600) / 60);
    if ($minute_diff >= 1) {
        if ($minute_diff == 1) {
            return ' 1 分钟前';
        }
        return ' ' . $minute_diff . ' 分钟前';
    }
    return ' 刚刚';
}

在合适位置调用以下代码

<?php echo human_time_diff($this->created);?>

操作完毕。

笔记 #CC BY-NC-ND 4.0