如何使用PHP将Fri Jul 19 2019 00:00:00 GMT 0800(新加坡标准时间)转换为mysql日期格式? 我尝试使用strtotime,但没有一个对我有用
date("Y-m-d H:i:s", strtotime("Fri Jul 19 2019 00:00:00 GMT 0800 (Singapore Standard Time)"));
答案 0 :(得分:1)
日期无法解析,因为它的格式很奇怪。
如果您无法控制输入日期的格式,则可以使用正则表达式获取不同部分并进行解析:
$rawDate = "Fri Jul 19 2019 00:00:00 GMT 0800 (Singapore Standard Time)";
preg_match('/(.*?) GMT (\d+)\s\(.*?\)/', $rawDate, $matches);
$date = DateTime::createFromFormat('D M j Y H:i:s', $matches[1])
->setTimezone(new DateTimeZone('+' . $matches[2]));
echo $date->format('Y-m-d H:i:s'); // outputs 2019-07-19 06:00:00