PHP 的時間戳自 PHP 5.3.0 起,已經不再支持 Unix 時間戳的負數表示。這意味著,如果你嘗試使用負數時間戳,PHP 將拋出一個 E_DEPRECATED
錯誤。因此,為了避免兼容性問題,建議始終使用非負整數作為時間戳。
如果你需要處理過去的時間,可以使用 strtotime()
函數將日期字符串轉換為時間戳,或者使用 DateTime
類來創建一個日期對象。這些方法會自動處理不同的日期和時間表示,確保代碼在不同版本的 PHP 中都能正常工作。
例如:
// 使用 strtotime() 轉換日期字符串為時間戳
$timestamp = strtotime('2021-08-01');
// 使用 DateTime 類創建日期對象
$date = new DateTime('2021-08-01');
$timestamp = $date->getTimestamp();
總之,雖然 PHP 的時間戳不再支持負數表示,但通過使用 strtotime()
和 DateTime
類,你可以確保代碼在不同版本的 PHP 中具有良好的兼容性。