Я создал веб-приложение, которое в настоящее время используется рядом клиентов. В версии 1.0 он не поддерживал часовые пояса и сохранял все данные в Европе/Амстердаме. Теперь в v1.2 он хранит все даты в UTC и показывает правильную дату в веб-приложении в соответствии с выбранным часовым поясом пользователя.Преобразование всех полей datetime в UTC
Теперь я хочу предоставить запрос mysql для моих клиентов (которые обновляют и уже имеют некоторые данные), чтобы обновить все поля datetime до UTC в phpmyadmin. Я использую CakePHP, поэтому все созданные/измененные поля необходимо обновить. Может ли кто-нибудь показать мне, как выглядит этот запрос?
Хорошо, это работает, спасибо! Для событий start_date и start_time хранятся отдельно. Могу ли я присоединиться к этим полям, конвертировать их в UTC и хранить их отдельно в одном запросе? – Matish
Да, это должно сработать. В основном вы можете использовать синтаксис 'CONVERT_TZ (поле, 'Европа/Амстердам', 'UTC')', где вы можете использовать 'поле'. – lxg
Спасибо, это сработало для меня: UPDATE 'events' SET ' start_date' = CONVERT_TZ (concat ('start_date', '',' start_time'), '+02: 00', '+00: 00') , 'start_time' = CONVERT_TZ (concat (' start_date', '', 'start_time'), '+02: 00', '+00: 00'), ' end_date' = CONVERT_TZ (concat ('end_date', '', 'end_time'), '+02: 00', '+00: 00'), ' end_time' = CONVERT_TZ (concat ('end_date', '',' end_time'), '+02: 00' , '+00: 00'); – Matish