我想将'星期六 18 五月, 4:18 am' 转换为 MySQL 日期时间格式('Y-m-d H:i:s')。
$post_datetime = 'Sat 18 May, 4:18 am';
$format = 'Y-m-d H:i:s';
$dt = new DateTime($post_datetime);
echo $dt->format($format);
问题是格式化的日期时间是将来2016-05-21 04:18:00
。我假设这是因为没有指定年份。有什么解决办法吗?
只需将时间字符串转换为时间戳,然后从该时间戳再次生成日期/时间字符串
date('d-M-Y', strtotime('Thu 1 Jan, 4:09 pm'));