如果这是当前格式“5 月 18 日星期六,凌晨 4:18”,如何获得正确的日期时间格式


How to get the right datetime format if this is the current format 'Sat 18 May, 4:18 am'?

我想将'星期六 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'));