繁体   English   中英

无法在php中将date('Yzhis')转换为Ymd

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM