MySQL: сохранить часовой пояс сервера или пользовательский часовой пояс?

JDSL (Библиотека структур данных в Java) должен быть достаточно хорошим, если Вы в алгоритмы графика - http://www.cs.brown.edu/cgc/jdsl/

8
задан vitto 8 December 2009 в 12:45
поделиться

3 ответа

Я бы рекомендовал использовать часовой пояс сервера или UTC, а не хранить разные данные для каждого пользователя. Таким образом, ваша база данных будет полностью согласованной, и вы сможете выполнять некоторые операции, такие как сравнения, без необходимости для каждой записи извлекать столбец user_timezone и выполнять преобразование (что не является полностью бесплатным)

14
ответ дан 5 December 2019 в 10:03
поделиться

Просто используйте:

time();
1
ответ дан 5 December 2019 в 10:03
поделиться

Использовать UTC . Это избавит вас от многих часов разочарования.

Местное время пользователя - это вопрос представления - для данного пользователя гораздо проще преобразовать в / из местного времени, чем отслеживать TZ полей даты каждой записи в база данных.

Даже если использование часового пояса сервера может показаться заманчивым, правила DST могут измениться в кратчайшие сроки очень (см .: Аргентина DST 2009 - правительство приняло решение не использовать Летнее время, примерно за 1 неделю до предполагаемого срока); в некоторых случаях может измениться сам часовой пояс (см. Время в Индиане ). Вряд ли определение UTC претерпит такие радикальные изменения.

(История о серверном времени и местном времени: сервер был на западном побережье США, он был перемещен на восточное побережье США; приложения использовали серверное время; все разразилось адом. С помощью виртуализации можно легко и быстро перемещать серверы на разные континенты .)

2
ответ дан 5 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: