Как я делаю MySQL ТЕПЕРЬ () и CURDATE (), функции используют UTC?

IN cocos2d-x

sprite->boundingBox().size.width;

sprite->boundingBox().size.height;
41
задан Ciro Santilli 新疆改造中心法轮功六四事件 5 December 2015 в 18:45
поделиться

4 ответа

Наконец-то нашел то, что искал ...

В my.cnf,

[mysqld_safe]
timezone = UTC

я помещал эту опцию в [mysqld] , и mysql не запускался.

Вызов "SET time_zone = '+ 0:00';" при каждой загрузке страницы также будет работать, но мне не нравится идея вызывать этот запрос при каждой загрузке страницы.

36
ответ дан 27 November 2019 в 00:26
поделиться

Установите часы вашего сервера на UTC. Нет, правда.

Если вы можете это сделать, сделайте это.

Одна из самых больших головных болей - это задания cron и т. Д., Выполняемые в местном часовом поясе, это означает, что некоторые задания cron будут пропускаться один раз в год, а все остальное работает в другое время по Гринвичу в течение полугода (я предполагаю, что вы находитесь в часовом поясе, где здесь летнее время).

MySQL поддерживает часовые пояса, но это безумие и беспорядок. Не используйте его, если в этом нет необходимости. Просто установите часы вашего сервера на всемирное координированное время, и время начнет работать так, как должно.

Я знаю, что изменение серверных часов - серьезное изменение для любой управляемой системы, и у вас может быть большое количество серверов и служб, которые могут быть затронуты , но, пожалуйста, все равно попробуй это сделать. Работа по обеспечению качества может быть значительной, но попробуйте.

25
ответ дан 27 November 2019 в 00:26
поделиться

Правильный способ сделать это - изменить часовой пояс вашего сервера на UTC, как сказал MarkR.

Однако также можно использовать SET time_zone для изменить часовой пояс для текущего сеанса.

Из руководства:

Настройка часового пояса текущего сеанса влияет на отображение и хранение значений времени, чувствительных к поясам. Сюда входят значения, отображаемые такими функциями, как NOW () или CURTIME ()

4
ответ дан 27 November 2019 в 00:26
поделиться

Вам нужно будет использовать оператор SET TIMESTAMP для форматирования результатов datetime в желаемом формате. Это будет означать изменение всех этих запросов. sysdate () не будет подчиняться этому.

0
ответ дан 27 November 2019 в 00:26
поделиться
Другие вопросы по тегам:

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