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。