比较 PHP 中自定义格式的日期
在 PHP 中,比较日期可能很棘手,特别是如果日期采用自定义格式,例如如“03_01_12”和“31_12_11”。使用标准的 strtotime() 函数可能不会产生预期的结果。
解决方案:
为了有效地比较自定义格式的日期,我们可以使用 DateTime:: createFromFormat() 方法。该方法以自定义格式和日期字符串作为参数,并返回一个 DateTime 对象。
$format = "d_m_y"; $date1 = \DateTime::createFromFormat($format, "03_01_12"); $date2 = \DateTime::createFromFormat($format, "31_12_11");
一旦我们有了 DateTime 对象,我们就可以使用比较运算符(>、
var_dump($date1 > $date2); // Output: true
在此示例中,$date1 表示日期 '03_01_12' ('03 January 2012'),$date2 代表日期'31_12_11'('2011 年 12 月 31 日')。由于 03_01_12 在 31_12_11 之后,因此比较运算符返回 true。
即使日期采用非标准格式,此解决方案也能确保准确的日期比较。
以上是如何在 PHP 中准确比较自定义格式的日期?的详细内容。更多信息请关注PHP中文网其他相关文章!