将日期字符串转换为正确格式

时间:2014-06-06 03:09:04

标签: php date formatting

我正在从Excel表格中导入数据,日期的格式如下:

May 5, 2014

我需要将其转换为适当的PHP日期格式,如:

Y-m-d

这不起作用:

$new_date = date('Y-m-d', strtotime('May 5, 2014'));
echo $new_date;

结果 1969-12-31

我在想我可以这样做:

$old_date = 'May 5, 2014';
$old_date = str_replace(',', '', $old_date);
$old_date_parts = explode(' ',$old_date);

// Convert month name to number
$may = '5';

// Build new date
$new_date = $old_date_parts[2].'-'.$may.'-'.$old_date_parts[1];

但是还有另一种方式!

请帮忙。提前谢谢。

修改

似乎我正在使用的PHPExcel没有将序列日期转换为unix时间的功能,所以我使用了它。

UNIX_DATE = (EXCEL_DATE - 25569) * 86400

1 个答案:

答案 0 :(得分:2)

$date = date_create_from_format('M j, Y', 'May 5, 2014');
echo date_format($date, 'Y-m-d');

或OOP风格

$date = DateTime::createFromFormat('M j, Y', 'May 5, 2014');
echo  $date->format('Y-m-d');