【问题标题】:How to calculate "time ago" in php [duplicate]如何在php中计算“时间前” [重复]
【发布时间】:2012-07-13 23:14:27
【问题描述】:

可能重复:
PHP How to find the time elapsed since a date time?

我将如何获得发布的时间。以 2012-07-13 17:55:59 的 3 分钟前或超过 24 小时前和 2 天前为例。

【问题讨论】:

    标签: php


    【解决方案1】:
    <?php
    function get_timeago( $ptime )
    {
        $etime = time() - $ptime;
    
        if( $etime < 1 )
        {
            return 'less than 1 second ago';
        }
    
        $a = array( 12 * 30 * 24 * 60 * 60  =>  'year',
                    30 * 24 * 60 * 60       =>  'month',
                    24 * 60 * 60            =>  'day',
                    60 * 60             =>  'hour',
                    60                  =>  'minute',
                    1                   =>  'second'
        );
    
        foreach( $a as $secs => $str )
        {
            $d = $etime / $secs;
    
            if( $d >= 1 )
            {
                $r = round( $d );
                return 'about ' . $r . ' ' . $str . ( $r > 1 ? 's' : '' ) . ' ago';
            }
        }
    }
    ?>
    
    
    Usage:   
    
       <?php 
    
    
         echo get_timeago( $timestamp );
    
       ?>
    

    也可以试试strtotime()

    【讨论】:

    • 感谢您的帮助,而不是仅仅说它是重复的哇。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2015-08-17
    • 1970-01-01
    • 2011-11-11
    • 2011-08-18
    • 2012-03-26
    • 2019-08-27
    相关资源
    最近更新 更多