比较 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中文网其他相关文章!