首页 >后端开发 >php教程 >如何在不使用explode()的情况下将dd/mm/YYYY日期转换为YYYY-mm-dd?

如何在不使用explode()的情况下将dd/mm/YYYY日期转换为YYYY-mm-dd?

Susan Sarandon
Susan Sarandon原创
2024-12-13 21:23:17607浏览

How to Convert dd/mm/YYYY Dates to YYYY-mm-dd Without explode()?

strtotime() 与 dd/mm/YYYY 格式不兼容

多功能的 strtotime() 函数提供了一种将日期转换为 Unix 的有效方法时间戳。但是,其文档缺乏有关支持的日期格式的全面详细信息。虽然该函数接受 mm/dd/YYYY 格式,但它无法识别其对应的 dd/mm/YYYY。

为了克服此限制,我们寻求替代解决方案,将 dd/mm/YYYY 格式的日期转换为YYYY-mm-dd,不使用explode()函数。

简化解决方案:

$date = '25/05/2010';
$date = str_replace('/', '-', $date);
echo date('Y-m-d', strtotime($date));

输出:

2010-05-25

解释:

此方法利用了 str_replace () 函数用连字符替换原始日期字符串中的正斜杠 (/) (-),使其与 strtotime() 函数兼容。随后使用 date('Y-m-d', ...) 确保转换后的日期采用所需的 YYYY-mm-dd 格式。

strtotime() 文档说明:

strtotime() 文档指出“m/d/y”或“d-m-y”格式的日期是根据所使用的分隔符进行解释的。如果出现斜杠(“/”),则假定为美国“m/d/y”格式,而破折号(“-”)或点(“.”)则表示欧洲“d-m-y”格式。

以上是如何在不使用explode()的情况下将dd/mm/YYYY日期转换为YYYY-mm-dd?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn