#php #mysql #node.js #timezone
#php #mysql #node.js #Часовой пояс
Вопрос:
Даты и времени MySQL, созданные с помощью now()
, сохраняются как UTC.
Часовой пояс на стороне клиента определяется с помощью JavaScript и возвращается как "Europe/London"
.
Каков наилучший способ выбрать дату и время из MySQL и отобразить созданное время по местному времени пользователя?
PHP и Node используются с MySQL.
Ответ №1:
Вы можете использовать функцию MySQL CONVERT_TZ
SELECT CONVERT_TZ(NOW(), 'UTC', 'Europe/London')
Ответ №2:
Я не знаю, как устроена ваша логика, но я использую это в PHP:
function utc_to_timezone($format, $date, $to_timezone)
{
$date = new DateTime($date);
$date->setTimezone(new DateTimeZone($to_timezone));
return $date->format($format);
}
Пример:
echo utc_to_timezone('Y-m-d H:i:s', '2014-07-04 15:34:23', 'Europe/London');