Как mySQL определяет часовой пояс для поля TIMESTAMP? - PullRequest
0 голосов
/ 25 июля 2011

Согласно mysqltutorial

Значения столбцов MySQL TIMESTAMP зависят от времени соединения зона. Когда вставляются значения для столбцов MySQL TIMESTAMP, они преобразовано в универсальное координированное время (UTC) от времени соединения зона. Когда вы выбираете значение, сервер преобразует его обратно из UTC к часовому поясу соединения, чтобы вы имели то же значение, что вы вставлена.

Откуда он получает эту информацию. с какого времени пользователь устанавливает свою ОС на какой-либо другой метод?

В Javascript также есть возможность делать часовые пояса, но он более сложен: onlineaspect

Ответы [ 2 ]

1 голос
/ 25 июля 2011

Чтобы указать конкретное время соединения, вам нужно выполнить

SET time_zone = TZ;

Где TZ может быть либо числовым смещением, например +11:00, либо именем часового пояса Asia/Vladivostok (для последнего вам необходимо импортировать описание часовых поясов. Попросите вашего администратора базы данных сделать это)

0 голосов
/ 25 июля 2011

пример там неправильный, я только что проверил. возвращает ранее вставленную временную метку независимо от часового пояса. mysql всегда будет вставлять указанное вами время, не изменяя его. если вам нужна настройка часового пояса, вы должны явно указать mysql; в противном случае все времена считаются «локальным временем сервера».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...