在PHP 中查找自日期時間以來經過的時間
確定自特定日期和時間以來經過的時間在各種應用程序中非常有用,例如顯示事件發生以來的時間。在 PHP 中,有多種方法可以以使用者友好的方式計算和格式化經過的時間。
計算經過的時間
計算給定日期之間經過的時間time 和當前時間,您可以使用strtotime() 函數將日期時間的字串表示形式轉換為時間戳。然後可以從當前時間戳中減去時間戳,當前時間戳表示自 Unix 紀元(1970 年 1 月 1 日 UTC)以來的當前時間(以秒為單位)。
例如:
$time = strtotime('2010-04-28 17:25:43'); $elapsedTime = time() - $time;
格式化經過時間
將經過時間作為數字後秒,您可以以用戶友好的方式格式化它。常見的方法是將秒數轉換為分鐘、天或年等單位。您可以使用循環迭代單位清單及其對應的秒數,然後傳回適當的單位及其值。
例如,以下函數計算並格式化經過的時間:
function humanTiming($time) { $tokens = array ( 31536000 => 'year', 2592000 => 'month', 604800 => 'week', 86400 => 'day', 3600 => 'hour', 60 => 'minute', 1 => 'second' ); foreach ($tokens as $unit => $text) { if ($time < $unit) continue; $numberOfUnits = floor($time / $unit); return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':''); } }
用法範例
要使用此函數,您只需將時間戳記作為參數:
$time = strtotime('2010-04-28 17:25:43'); echo 'Event happened '.humanTiming($time).' ago';
這將以適合用戶顯示的格式輸出經過的時間,例如「事件發生在4 天前」或「事件發生在 1 分鐘前」。
以上是如何在 PHP 中計算和格式化自某個日期以來經過的時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!