ホームページ > バックエンド開発 > PHPチュートリアル > PHP で DateTime スタンプからの経過時間を計算して表示するにはどうすればよいですか?

PHP で DateTime スタンプからの経過時間を計算して表示するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-19 07:47:10
オリジナル
475 人が閲覧しました

How Can I Calculate and Display the Time Elapsed Since a DateTime Stamp in PHP?

PHP での DateTime スタンプからの経過時間を確認する

PHP では、特定の日付とタイム スタンプからの経過時間を取得することが重要です。この情報は、経過時間を「xx 分前」や「xx 日前」などのわかりやすい形式で表示する場合に役立ちます。

解決策:

提供されたコードは、日付とタイムスタンプを相対時間に変換するための効果的なアプローチを例示しています。形式:

<?php
$timestamp = strtotime('2010-04-28 17:25:43');

function humanTiming($timestamp) {
    $difference = time() - $timestamp;
    $tokens = array(
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second'
    );

    foreach ($tokens as $unit => $text) {
        if ($difference < $unit) continue;
        $units = floor($difference / $unit);
        return $units . ' ' . $text . (($units > 1) ? 's' : '');
    }
}

echo 'Event occurred ' . humanTiming($timestamp) . ' ago';
?>
ログイン後にコピー

説明:

  • strtotime() 関数は、指定された日付とタイムスタンプ ('2010-04-28 17:25) を変換します。 :43') を UNIX タイムスタンプに変換します。
  • humanTiming() 関数現在の時刻とタイムスタンプの差を計算します。
  • その後、関数は時間単位の配列 (年、月、週など) とそれらに対応するテキスト表現を反復処理します。
  • 時差が現在の単位以上であるかどうかを確認し、適切なテキスト表現を返します。
  • 最後に、返された文字列が出力に追加され、相対的な単位を示します。タイムスタンプからの経過時間。

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

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