как преобразовать этот формат в пятницу, 19 июля 2019 г., 00:00:00 по Гринвичу 08:00 (стандартное время в Сингапуре), в формат даты mysql с помощью PHP? Я пытался использовать strtotime, но ни один из них не работает для меня.
date("Y-m-d H:i:s", strtotime("Fri Jul 19 2019 00:00:00 GMT 0800 (Singapore Standard Time)"));
Вы контролируете форматирование даты?
Я не контролирую формат даты






Дата не может быть проанализирована, потому что она имеет очень странный формат.
Если вы не можете контролировать формат входящей даты, вы можете захватить разные части с помощью регулярного выражения и проанализировать их:
$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
Пример: https://3v4l.org/fbuMk
Дата не может быть проанализирована из-за
Double timezone specification(из-за ошибки PHP).