+ 复制到我的接口(请先登录,支持在线开发API)    预览接口发布效果    查看开发教程

接口说明:

PHP 把时间字符串,格式化成最近的友好显示,计算距离现在的时间,例如:刚刚、x秒前、x小时前,明天、后天等

接口源代码PHP:


<?php


/**
 * 友好格式化日期时间显示接口 PHP接口源代码
 *
 * 最后修改:2024-10-12 17:34:02
 *
 * @author dogstar www.yesapi.cn
 *
 * 来源:https://open.yesapi.cn/apicode/8885.html
 */

function ($params, $di) {
    
$time = strtotime($params['datetime']);
    
    if (!
$time)
        return 
false;
    
$fdate = '';
    
$d = time() - intval($time);
    
$ld = $time - mktime(0, 0, 0, 0, 0, date('Y')); //得出年
    
$md = $time - mktime(0, 0, 0, date('m'), 0, date('Y')); //得出月
    
$byd = $time - mktime(0, 0, 0, date('m'), date('d') - 2, date('Y')); //前天
    
$yd = $time - mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')); //昨天
    
$dd = $time - mktime(0, 0, 0, date('m'), date('d'), date('Y')); //今天
    
$td = $time - mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')); //明天
    
$atd = $time - mktime(0, 0, 0, date('m'), date('d') + 2, date('Y')); //后天
    
if ($d == 0) {
        
$fdate = '刚刚';
    } else {
        switch (
$d) {
            case 
$d < $atd:
                
$fdate = date('Y年m月d日', $time);
                break;
            case 
$d < $td:
                
$fdate = '后天' . date('H:i', $time);
                break;
            case 
$d < 0:
                
$fdate = '明天' . date('H:i', $time);
                break;
            case 
$d < 60:
                
$fdate = $d . '秒前';
                break;
            case 
$d < 3600:
                
$fdate = floor($d / 60) . '分钟前';
                break;
            case 
$d < $dd:
                
$fdate = floor($d / 3600) . '小时前';
                break;
            case 
$d < $yd:
                
$fdate = '昨天' . date('H:i', $time);
                break;
            case 
$d < $byd:
                
$fdate = '前天' . date('H:i', $time);
                break;
            case 
$d < $md:
                
$fdate = date('m月d日 H:i', $time);
                break;
            case 
$d < $ld:
                
$fdate = date('m月d日', $time);
                break;
            default:
                
$fdate = date('Y年m月d日', $time);
                break;
        }
    }
    return 
$fdate;

}
在线运行   


回到顶部 ↑