问题:
如何比较 PHP 中格式为“03_01_12”的两个日期和“31_12_11”?
尝试1:
提供的代码:
$date1 = date('d_m_y'); $date2 = '31_12_11'; if (strtotime($date1) < strtotime($date2)) echo '1 is small ='.strtotime($date1), ','.$date1; else echo '2 is small ='.strtotime($date2), ','.$date2;
说明:
上面的代码尝试使用 strtotime() 函数比较日期,但它不起作用,因为它使用系统默认转换的日期格式,不是日期使用的自定义格式字符串。
答案:
要正确地将日期与给定的自定义格式进行比较,您可以使用 DateTime::createFromFormat() 方法。下面是修改后的代码示例:
$format = "d_m_y"; $date1 = \DateTime::createFromFormat($format, "03_01_12"); $date2 = \DateTime::createFromFormat($format, "31_12_11"); var_dump($date1 > $date2);
在此代码中:
以上是如何在 PHP 中比较日期与自定义'd_m_y”格式?的详细内容。更多信息请关注PHP中文网其他相关文章!