php:自訂的格式化時間方法_PHP教程

來源:互聯網
上載者:User
如:時間剛好是5分鐘前,則對應的時間戳記就會被格式化為5分鐘前,不多說了,直接貼上代碼:

   /**     * 格式化時間     * @param integer $timestamp  時間戳記     * @param string $format  dt=日期時間 d=日期 t=時間 u=個人化 其他=自訂     * @param integer $timeoffset  時區值     * @param string $custom_format 自訂時間格式     * @return string     */    public function dgmdate( $timestamp, $format = 'dt', $timeoffset = '9999', $custom_format = '' ) {        $return = '';        $now = time();        $day_format = 'Y-n-j';        $time_format = 'H:i:s';        $date_format = $day_format . ' ' . $time_format;        $offset = 8; //這裡預設是東八區,也就是北京時間        $lang = array(            'before' => '前',            'day' => '天',            'yday' => '昨天',            'byday' => '前天',            'hour' => '小時',            'half' => '半',            'min' => '分鐘',            'sec' => '秒',            'now' => '剛剛',        );        $timeoffset = $timeoffset == 9999 ? $offset : $timeoffset;        $timestamp += $timeoffset * 3600;        switch ( $format ) {            case 'dt':                $format = $date_format;                break;            case 'd':                $format = $day_format;                break;            case 't':                $format = $time_format;                break;        }        if ( $format == 'u' ) {            $todaytimestamp = $now - ($now + $timeoffset * 3600) % 86400 + $timeoffset * 3600;            $s = gmdate( empty( $custom_format ) ? $date_format : $custom_format, $timestamp );            $time = $now + $timeoffset * 3600 - $timestamp;            if ( $timestamp >= $todaytimestamp ) {                if ( $time > 3600 ) {                    $return = '' . intval( $time / 3600 ) . $lang['hour'] . $lang['before'] . '';                } elseif ( $time > 1800 ) {                    $return = '' . $lang['half'] . $lang['hour'] . $lang['before'] . '';                } elseif ( $time > 60 ) {                    $return = '' . intval( $time / 60 ) . $lang['min'] . $lang['before'] . '';                } elseif ( $time > 0 ) {                    $return = '' . $time . $lang['sec'] . $lang['before'] . '';                } elseif ( $time == 0 ) {                    $return = '' . $lang['now'] . '';                } else {                    $return = $s;                }            } elseif ( ($days = intval( ($todaytimestamp - $timestamp) / 86400 )) >= 0 && $days < 7 ) {                if ( $days == 0 ) {                    $return = '' . $lang['yday'] . gmdate( $time_format, $timestamp ) . '';                } elseif ( $days == 1 ) {                    $return = '' . $lang['byday'] . gmdate( $time_format, $timestamp ) . '';                } else {                    $return = '' . ($days + 1) . $lang['day'] . $lang['before'] . '';                }            } else {                $return = $s;            }        } else {            $return = gmdate( $format, $timestamp );        }        return $return;    }


http://www.bkjia.com/PHPjc/621639.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/621639.htmlTechArticle如:時間剛好是5分鐘前,則對應的時間戳記就會被式化為5分鐘前,不多說了,直接貼上代碼: /** * 格式化時間 * @param integer $timestamp 時間戳記...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.