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 サイトの他の関連記事を参照してください。