[英]Failed to Convert date('Yzhis') to Y-m-d in php
我正在尝试转换以下日期:
$myDate=
201373055607
201373055616
201594035728
201373102215
2013160023556
等等...
他们由该功能创建:
date('Yzhis')
我想将它们转换为以下格式:'Ymd'因此,我使用了以下代码:
$old_date = $myDate;
$middle = strtotime($old_date);
$new_date = date('Y-m-d', $middle);
它返回以下内容:
5607-08-17
5616-08-17
5728-08-17
1970-01-01
2013-06-09
等等...
如您所见,前四个日期是错误的,只有最后一个是正确的。
如何绕过转换错误并返回正确的日期?
Yzhis
是不是 一个有效的日期格式 。 结果strtotime()
失败并返回false,或更糟糕的是,它认为是日期的值可以转换为日期,但实际上没有任何意义。
如果要使用非标准格式(可能不需要这样做),则需要使用DateTime::createFromFormat()
才能正确处理它。
$old_date = $myDate;
$middle = DateTime::createFromFormat('Yzhis', $old_date);
$new_date = $middle->format('Y-m-d');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.