在PHP中是否有一种简单的方法将一种日期格式转换为另一种日期格式?

我有这个:

$old_date = date('y-m-d-h-i-s');            // works

$middle = strtotime($old_date);             // returns bool(false)

$new_date = date('Y-m-d H:i:s', $middle);   // returns 1970-01-01 00:00:00

但我当然希望它返回当前日期,而不是黎明时分。我做错了什么?


当前回答

试试这个:

$tempDate = explode('-','03-23-15');
$date = '20'.$tempDate[2].'-'.$tempDate[0].'-'.$tempDate[1];

其他回答

$old_date = date('y-m-d-h-i-s');       // works

你在这里做错了,这应该是

$old_date = date('y-m-d h:i:s');       // works

时间分隔符是“:”


我想这会有帮助……

$old_date = date('y-m-d-h-i-s');              // works

preg_match_all('/(\d+)-(\d+)-(\d+)-(\d+)-(\d+)-(\d+)/', $old_date, $out, PREG_SET_ORDER);
$out = $out[0];
$time = mktime($out[4], $out[5], $out[6], $out[2], $out[3], $out[1]);

$new_date = date('Y-m-d H:i:s', $time); 

OR


$old_date = date('y-m-d-h-i-s');              // works

$out = explode('-', $old_date);
$time = mktime($out[3], $out[4], $out[5], $out[1], $out[2], $out[0]);

$new_date = date('Y-m-d H:i:s', $time); 

在php中更改日期格式的最简单的方法

在PHP中,可以使用不同的场景将任何日期转换为所需的日期格式,例如将任何日期格式转换为日,日,月,年

$newdate = date("D, d M Y", strtotime($date));

它将以以下非常好的格式显示日期

2020年11月16日星期一

如果你也有你现有日期格式的时间,例如,如果你有SQL 2020-11-11 22:00:00的日期时间格式,你可以使用下面的方法将其转换为所需的日期格式

$newdateformat = date("D, d M Y H:i:s", strtotime($oldateformat));

它将显示日期在以下良好的格式

2020年11月15日星期日16:26:00

试试这个:

$tempDate = explode('-','03-23-15');
$date = '20'.$tempDate[2].'-'.$tempDate[0].'-'.$tempDate[1];

您需要将$old_date转换回时间戳,因为date函数需要时间戳作为第二个参数。

下面是一个将日期转换为不同格式的简单方法。

// Create a new DateTime object
$date = DateTime::createFromFormat('Y-m-d', '2016-03-25');

// Output the date in different formats
echo $date->format('Y-m-d')."\n";
echo $date->format('d-m-Y')."\n";
echo $date->format('m-d-Y')."\n";