strtotime() 与 dd/mm/YYYY 格式的斗争
使用 strtotime() 函数时,重要的是要注意它的日期格式限制。虽然它支持多种格式,但在处理 dd/mm/YYYY 格式时却表现不佳。
解决方案:将 dd/mm/YYYY 转换为 YYYY-mm-dd
要解决此问题并将 dd/mm/YYYY 格式的日期转换为 YYYY-mm-dd,请考虑以下操作简化方法:
$date = '25/05/2010'; $date = str_replace('/', '-', $date); echo date('Y-m-d', strtotime($date));
输出:
2010-05-25
strtotime() 文档
根据 thestrtotime()文档中,m/d/y 或 d-m-y 格式的日期是根据使用分隔符。如果分隔符是斜杠 (/),则采用美式 m/d/y 格式。如果分隔符是破折号 (-) 或点 (.),则假定为欧洲 d-m-y 格式。
在我们的示例中,由于 dd/mm/YYYY 使用破折号作为分隔符,因此不符合为任一受支持的格式。因此,在使用 strtotime() 之前,需要使用 str_replace() 的转换步骤将日期转换为可接受的 d-m-y 格式。
以上是为什么 `strtotime()` 会因 dd/mm/YYYY 而失败以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!