PHP转换date格式dd / mm / yyyy => yyyy-mm-dd
可能重复:
PHPdatestring格式
我试图从dd/mm/yyyy => yyyy-mm-dd转换date。 我使用mktime()函数和其他函数,但我似乎无法使其工作。 我已经设法使用'/'作为分隔符来explode原始date,但是我没有成功地改变格式并且用'-'replace'/' '-' 。 
任何帮助将不胜感激。
m/d/y或dmy格式的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。