我有一个字符串日期:10.21.2011,格式为mm.dd.yyyy
如何将其转换为Y-m-d格式?这是我尝试的方法,但它总是给我1970年的日期。
$date = '10.21.2011';
$newDate = date('Y-m-d', strtotime($date));
$date = date('Y-m-d', strtotime($date));
谢谢!
面向对象的方式:
$date = DateTime::createFromFormat('m.j.Y', '10.21.2011');
echo $date->format('Y-m-d');
我认为这是学习PHP的方法。
需要PHP 5.3及以上版本。
.
的原因,最有可能是这样的:$date = '10.21.2011';
echo date('Y-m-d', strtotime(str_replace('.', '/', $date)));
结果:
2011-10-21
$date = '10.21.2011';
$date = strtotime(str_replace('.','/',$date));
echo date("Y-m-d",$date);
这应该就可以了
$date = preg_replace('/(\d{2})\.(\d{2})\.(\d{4})/', '$3-$1-$2', $date);
mm.dd.yyy
不在该列表中。 - Felix Kling