2012-02-14 3 views
0

У меня есть немного, но неприятная проблема:PHP & MySQL записей индивидуальный часовой пояс

У меня есть база данных с большим количеством записей, каждая запись имеет два поля с MySQL временными метками, например: 2012-02-14 11 : 09: 59

, так как каждая строка имеет индивидуальный часовой пояс (я сохранил часовой пояс как строку, например, «Европа/Берлин», а также как смещение как +1 в поле с плавающей точкой), у меня есть небольшая проблема:

Я хочу запросить db для записей, которые новее или старше, чем -now- Я мог бы преобразовать дату в GMT и искать h их с серверами tmz-offset. Легко, buuuuttt, проблема в том, что у меня есть возможность поиска записей, которые происходят в определенное местное время, например, например:

Я хочу найти то, что происходит в 22:00 завтра все по всему миру. Теперь, если я конвертирую все временные метки в GMT, я не мог этого сделать, потому что в том случае, когда 22:00 не будет местного времени, но время по Гринвичу ... Есть ли способ сочетать временную метку и поле tmz в одном запросе?

Спасибо 1000 заранее!

+0

'Теперь, если я конвертировать все временные метки GMT я не мог сделать that' почему не? –

ответ

1

Я думаю, что идеальным решением будет либо

  • магазин все время в UTC и делать смещенные расчеты при выводе даты

  • или есть второй, отдельный столбец с датой UTC ,

Однако оригинал требование должно возможно, а также - использовать DATE_ADD() вычислить правильное смещение:

SELECT DATE_ADD(event_time, INTERVAL event_time_offset HOUR) 
+0

Решение для использования двух разных полей кажется лучшим, особенно с точки зрения производительности ... Еще раз спасибо! знак равно –

Смежные вопросы