На моем сервере это работает:
function gmt2mysql($gmt)
{
return date("Y-m-d H:i:s", strtotime($gmt));
}
и
Четверг 11 апреля 2019 00:00:00 по Гринвичу + 0200
становится
2019-04-10 22: 00: 00
, который может понять MySQL. Это тип DATETIME.
Тщательно проверьте, действительно ли это работает для вас. Работать со временем может быть сложно.
Очевидно, что он не работает на вашем сервере, поэтому мы должны быть немного более явными. Вы можете попробовать это альтернативное:
function gmt2mysql($gmt)
{
$date = DateTime::createFromFormat("D M j Y H:i:s ???O", $gmt);
$date->setTimezone(timezone_open('GMT'));
return $date->format('Y-m-d H:i:s');
}
Здесь мы предполагаем, что смещение часового пояса в ваших датах всегда будет GMT. Это так?