比較PHP 中的日期:處理非零填充天
比較PHP 中的日期時,重要的是要考慮儲存在資料庫可能不遵循零填充格式(例如“2011-10-2”)。使用標準日期比較運算子時,這可能會導致不正確的比較。
使用strtotime() 的解決方案
對於1970 年1 月1 日之後的日期,您可以使用PHP 的strtotime( ) 比較日期的函數:
$today = date("Y-m-d"); $expire = $row->expireDate; //from database $today_time = strtotime($today); $expire_time = strtotime($expire); if ($expire_time < $today_time) { /* do Something */ }
strtotime() 轉換表示一個字串將日期和時間轉換為UNIX 時間戳,該時間戳表示自 1970 年 1 月 1 日以來的秒數。這允許您透過比較時間戳來比較日期。
使用DateTime 類別的解決方案
對於PHP 5.2.0 及以上版本,您可以使用DateTime 類別來處理日期:
$today_dt = new DateTime($today); $expire_dt = new DateTime($expire); if ($expire_dt < $today_dt) { /* Do something */ }DateTime 類別提供了一組用於處理日期和時間的全面函數,包括比較運算子。
其他注意事項
以上是如何可靠地比較 PHP 中的日期,尤其是那些非零填充的日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!