php转换mm-dd yyyy到yyyy-mm-dd

php转换mm-dd yyyy到yyyy-mm-dd,php,Php,我正在尝试将此日期格式mm dd yyyy转换为yyyy mm dd 我正在使用strotime函数,但它没有正确转换。 日期('Y-m-d',标准时间('06-15-2014')) 它以这种格式返回日期1970-01-01 01:00:00字符串函数也可以工作 $in = "05-14-2004"; // why would you even write dates like this? $out = substr($in,-4)."-".substr($in,5); DateTime::c

我正在尝试将此日期格式mm dd yyyy转换为yyyy mm dd 我正在使用strotime函数,但它没有正确转换。 日期('Y-m-d',标准时间('06-15-2014'))


它以这种格式返回日期1970-01-01 01:00:00

字符串函数也可以工作

$in = "05-14-2004"; // why would you even write dates like this?
$out = substr($in,-4)."-".substr($in,5);

DateTime::createFromFormat()
检查此项,您将在以下位置获得答案readmore:注意:通过查看各个组件之间的分隔符,可以消除m/d/y或d-m-y格式中日期的歧义:如果分隔符是斜杠(/),则假定为美制m/d/y;而如果分隔符是破折号(-)或点(.),则假定为欧洲d-m-y格式。为了避免潜在的歧义,最好尽可能使用ISO 8601(YYYY-MM-DD)日期或DateTime::createFromFormat()。如果有DateTime类,为什么在处理日期时使用字符串函数?@AmalMurali Simplicity。您需要调用多少函数才能以正确的格式解析和输出日期?
echo DateTime::createFromFormat('m-d-Y','06-15-2014')->格式('Y-m-d')还不够简单吗?字符串函数对日期一无所知;当你有合适的工具可用时,使用合适的工具来做某事几乎总是更好的。@AmalMurali Hm.这很公平,但这不依赖于仅在PHP5.4中添加的解引用吗?无论如何。。。事实上,是的,我的代码更兼容:p但是你的代码更可读,或者至少更清楚它在做什么。不,它只是方法链接。它应该适用于任何支持日期时间的PHP版本(我认为PHP5中添加了方法链接支持)。