ホームページ > バックエンド開発 > PHPチュートリアル > PHP で指定された日時スタンプからの経過時間を効率的に表示するにはどうすればよいですか?

PHP で指定された日時スタンプからの経過時間を効率的に表示するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-16 06:09:19
オリジナル
481 人が閲覧しました

How Can I Efficiently Display Time Elapsed Since a Given Date-Time Stamp in PHP?

PHP の日時スタンプから経過時間を決定する

日時データを扱う場合、多くの場合、経過時間を計算することが不可欠です。過去の特定の時点からの時間。この実践的な質問は、「2010-04-28 17:25:43」のような日時スタンプを「xx 分前」や「xx 日前」などの使いやすい形式に変換する効率的な方法を見つけることを目的としています。

この問題に効果的に取り組むには、次の解決策を検討してください:

$time = strtotime('2010-04-28 17:25:43');

echo 'Event occurred ' . humanTiming($time) . ' ago';

function humanTiming($time) {
    $time = time() - $time;
    $time = ($time < 1) ? 1 : $time;
    $units = [
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second',
    ];

    foreach ($units as $unit => $text) {
        if ($time < $unit) {
            continue;
        }

        $numUnits = floor($time / $unit);

        return "$numUnits $text" . (($numUnits > 1) ? 's' : '');
    }
}
ログイン後にコピー

この解決策は PHP を利用します。 strtotime() 関数を使用して、入力日時文字列をタイムスタンプに変換します。次に、入力タイムスタンプから現在のタイムスタンプを減算して、経過時間を取得します。経過時間をユーザーフレンドリーな形式に変換するために、単位とテキストのマッピング ($units) の事前定義された配列を使用し、それらを反復処理して適切な単位 (「日」、「時間」など) を決定します。 ).

このアプローチを実装すると、PHP で特定の日時スタンプからの経過時間を効果的に判断して表示できるため、わかりやすく便利になります。アプリケーション。

以上がPHP で指定された日時スタンプからの経過時間を効率的に表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート