PHP转换date格式dd / mm / yyyy => yyyy-mm-dd

可能重复:
PHPdatestring格式

我试图从dd/mm/yyyy => yyyy-mm-dd转换date。 我使用mktime()函数和其他函数,但我似乎无法使其工作。 我已经设法使用'/'作为分隔符来explode原始date,但是我没有成功地改变格式并且用'-'replace'/' '-'

任何帮助将不胜感激。

m/d/ydmy格式的date通过查看各个组件之间的分隔符来消除歧义:如果分隔符是斜线( / ),则假定美国m/d/y ; 而如果分隔符是破折号( - )或点( . ),则假定欧洲的dmy格式。 点击这里查看 。

使用默认的datefunction。

 $var = "20/04/2012"; echo date("Ymd", strtotime($var) ); 

编辑我只是testing它,并以某种方式,PHP不能很好地与dd / mm / yyyy格式。 这是另一个解决scheme。

 $var = '20/04/2012'; $date = str_replace('/', '-', $var); echo date('Ym-d', strtotime($date)); 

尝试使用DateTime::createFromFormat http://www.php.net/manual/en/datetime.createfromformat.php

 $date = DateTime::createFromFormat('d/m/Y', "24/04/2012"); echo $date->format('Ym-d'); 

产量

 2012-04-24 

这是另一个不使用date()的解决scheme。 不那么聪明:)

 $var = '20/04/2012'; echo implode("-", array_reverse(explode("/", $var))); 

做这个:

 date('Ym-d', strtotime('dd/mm/yyyy')); 

但请确保“dd / mm / yyyy”是实际的date。

我很想注意,使用Timestamp进行编程比使用Timestamp来表示时间要好,然后可以使用PHP将“timestamp”值转换为您想要的任何格式的date。