如:时间刚好是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; }
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事
Inzoi:学校と大学への応募方法
4週間前ByDDD
Atomfallのサイトオフィスキーを見つける場所
4週間前ByDDD

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック
Gmailメールのログイン入り口はどこですか?
7864
15


Java チュートリアル
1649
14


CakePHP チュートリアル
1404
52


Laravel チュートリアル
1300
25


PHP チュートリアル
1242
29

