從PHP 的時間戳產生相對日期/時間
答案
下面的函數提供了一種全面的轉換方法Unix 時間戳(使用time() 函數獲得)相對日期/時間格式,考慮過去和未來。它產生的輸出例如:
<p>function time2str($ts)</p>{<p><br><br>}</p>
// Handle syntax variations if(!ctype_digit($ts)) $ts = strtotime($ts); // Calculate the difference between now and the timestamp $diff = time() - $ts; // Check for exact matches to simplify handling if($diff == 0) return 'now'; // Handle past timestamps if($diff > 0) { // Calculate day difference $day_diff = floor($diff / 86400); // Format past time intervals switch(true) { case ($day_diff == 0): return constructPastInterval($diff); // Hours, minutes, seconds case ($day_diff == 1): return 'Yesterday'; case ($day_diff < 7): return $day_diff . ' days ago'; case ($day_diff < 31): return ceil($day_diff / 7) . ' weeks ago'; case ($day_diff < 60): return 'last month'; default: return date('F Y', $ts); } } // Handle future timestamps else { // Calculate absolute difference $diff = abs($diff); // Calculate day difference and format future time intervals based on logic similar to the past case. }
ConstructionPastInterval() 函數未在此回應中顯示,但處理過去間隔的格式(小時、分鐘、秒)。
以上是如何在 PHP 中從 Unix 時間戳記產生相對日期/時間字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!