我正在从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
答案 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');