У меня есть база данных, которая хранит дату и время с GPS трекеров в формате UTC.Например, что-то вроде:
CREATE TABLE IF NOT EXISTS `tab_data` (
`id` int(6) unsigned NOT NULL,
`utc_time` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
INSERT INTO `tab_data` (`id`, `utc_time`) VALUES
('1', '2018-01-05 07:00:00'), //this should be in UTC +1
('2', '2018-02-04 01:10:00'), //this should be in UTC +1
('3', '2018-07-01 15:00:00'), //this should be in UTC +2
('4', '2018-08-22 16:00:00'); //this should be in UTC +2
Я хочу получить эти данные из базы данных в нужное время для Польши.В Польше, как и во многих европейских странах, у нас есть летнее и зимнее время: - зима - это часовой пояс CET (UTC + 1) - лето - это часовой пояс CEST (UTC + 2)
Как это получитьDateTime из базы данных преобразуется в правильное время (+1 или + 2 часа)
Обычно я буду использовать этот запрос, но это время должно быть преобразовано в часовой пояс, применимый в соответствующее время года
SELECT `utc_time` AS time FROM `tab_data`;
Я знаю, что это опция CONVERT_TZ, но, насколько я знаю, я могу конвертировать ее только из одного часового пояса в другой, а не из двух разных часовых поясов.
Вот SQL Fiddle http://sqlfiddle.com/#!9/a09700/2
Если это трудно сделать в MySQL, я мог бы также сделать это в PHP