php自訂的格式化時間範例程式碼

來源:互聯網
上載者:User

 時間剛好是5分鐘前,則對應的時間戳記就會被格式化為5分鐘前,自訂的格式化時間方法如下,感興趣的朋友可以參考下

如:時間剛好是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 = '<span title="' . $s . '">' . intval( $time / 3600 ) . $lang['hour'] . $lang['before'] . '</span>'; } elseif ( $time > 1800 ) { $return = '<span title="' . $s . '">' . $lang['half'] . $lang['hour'] . $lang['before'] . '</span>'; } elseif ( $time > 60 ) { $return = '<span title="' . $s . '">' . intval( $time / 60 ) . $lang['min'] . $lang['before'] . '</span>'; } elseif ( $time > 0 ) { $return = '<span title="' . $s . '">' . $time . $lang['sec'] . $lang['before'] . '</span>'; } elseif ( $time == 0 ) { $return = '<span title="' . $s . '">' . $lang['now'] . '</span>'; } else { $return = $s; } } elseif ( ($days = intval( ($todaytimestamp - $timestamp) / 86400 )) >= 0 && $days < 7 ) { if ( $days == 0 ) { $return = '<span title="' . $s . '">' . $lang['yday'] . gmdate( $time_format, $timestamp ) . '</span>'; } elseif ( $days == 1 ) { $return = '<span title="' . $s . '">' . $lang['byday'] . gmdate( $time_format, $timestamp ) . '</span>'; } else { $return = '<span title="' . $s . '">' . ($days + 1) . $lang['day'] . $lang['before'] . '</span>'; } } else { $return = $s; } } else { $return = gmdate( $format, $timestamp ); } return $return; }   
相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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