4

我将此日期作为字符串:10.21.2011,格式为 mm.dd.yyyy

如何将其转换为 Ymd?这是我尝试过的,但它总是给我 1970 年的日期。

$date = date('Y-m-d', strtotime($date));

谢谢!

4

4 回答 4

9

面向对象的方式:

$date = DateTime::createFromFormat('m.j.Y', '10.21.2011');
echo $date->format('Y-m-d');

我的观点是,这是人们应该尝试使用 PHP 学习的方法。

需要 PHP 5.3。

于 2012-05-07T08:02:10.193 回答
5

很可能是因为时期.

$date = '10.21.2011';
echo date('Y-m-d', strtotime(str_replace('.', '/', $date)));

结果:

2011-10-21
于 2012-05-07T07:56:36.120 回答
2
    $date = '10.21.2011';
$date = strtotime(str_replace('.','/',$date));
echo date("Y-m-d",$date);

这应该这样做

于 2012-05-07T08:03:28.767 回答
0
$date = preg_replace('/(\d{2})\.(\d{2})\.(\d{4})/', '$3-$1-$2', $date);
于 2012-05-07T08:24:59.590 回答