Настроить часовой пояс, дату и время
Ваш компьютер и мобильное устройство синхронизируются с сервером точного времени. При синхронизации обеспечивается защита информации при передаче данных, правильная работа программ и авторизация на сервисах.
Если вы отключили синхронизацию на вашем устройстве и указали время вручную, настройте правильный часовой пояс, иначе возникнут проблемы в работе с сайтами и приложениями.
Проверить правильность часового пояса можно на сервисе Яндекс.Время. Если время установлено неправильно, вы увидите предупреждение. Тогда обновите операционную систему вашего устройства или выберите часовой пояс вашего региона.
В 2014 году в России отменили летнее время — в результате изменились часовые зоны. Но операционная система на вашем устройстве может продолжать автоматически переводить часы. Поэтому установите новую часовую зону вместо старой:
| Часовая зона | Старый UTC, MSK | Новый UTC, MSK |
|---|---|---|
| Калининградское время | UTC+03:00, MSK | UTC+02:00, MSK-1 |
| Московское время | UTC+04:00, MSK | UTC+03:00, MSK |
| Самарское время | UTC+04:00, MSK+1 | UTC+04:00, MSK+1 |
| Екатеринбургское время | UTC+06:00, MSK+3 | UTC+05:00, MSK+2 |
| Омское время | UTC+07:00, MSK+4 | UTC+06:00, MSK+3 |
| Красноярское время | UTC+07:00, MSK+4 | |
| Иркутское время | UTC+09:00, MSK+6 | UTC+08:00, MSK+5 |
| Якутское время | ||
| Владивостокское время | UTC+11:00, MSK+8 | UTC+10:00, MSK+7 |
| Магаданское время | UTC+12:00, MSK+9 | UTC+11:00, MSK+8 |
| Камчатское время | UTC+12:00, MSK+9 | UTC+12:00, MSK+9 |
| Часовая зона | Старый UTC, MSK | Новый UTC, MSK |
|---|---|---|
| Калининградское время | UTC+03:00, MSK | UTC+02:00, MSK-1 |
| Московское время | UTC+04:00, MSK | UTC+03:00, MSK |
| Самарское время | UTC+04:00, MSK+1 | UTC+04:00, MSK+1 |
| Екатеринбургское время | UTC+06:00, MSK+3 | UTC+05:00, MSK+2 |
| Омское время | UTC+07:00, MSK+4 | UTC+06:00, MSK+3 |
| Красноярское время | UTC+07:00, MSK+4 | |
| Иркутское время | UTC+09:00, MSK+6 | UTC+08:00, MSK+5 |
| Якутское время | ||
| Владивостокское время | UTC+11:00, MSK+8 | UTC+10:00, MSK+7 |
| Магаданское время | UTC+12:00, MSK+9 | UTC+11:00, MSK+8 |
| Камчатское время | UTC+12:00, MSK+9 | UTC+12:00, MSK+9 |
Чтобы настроить часовой пояс, дату и время, выберите операционную систему вашего устройства:
Настроить часовой пояс, дату и время
Ваш компьютер и мобильное устройство синхронизируются с сервером точного времени. При синхронизации обеспечивается защита информации при передаче данных, правильная работа программ и авторизация на сервисах.
Если вы отключили синхронизацию на вашем устройстве и указали время вручную, настройте правильный часовой пояс, иначе возникнут проблемы в работе с сайтами и приложениями.
Проверить правильность часового пояса можно на сервисе Яндекс.Время. Если время установлено неправильно, вы увидите предупреждение. Тогда обновите операционную систему вашего устройства или выберите часовой пояс вашего региона.
В 2014 году в России отменили летнее время — в результате изменились часовые зоны. Но операционная система на вашем устройстве может продолжать автоматически переводить часы. Поэтому установите новую часовую зону вместо старой:
| Часовая зона | Старый UTC, MSK | Новый UTC, MSK |
|---|---|---|
| Калининградское время | UTC+03:00, MSK | UTC+02:00, MSK-1 |
| Московское время | UTC+04:00, MSK | UTC+03:00, MSK |
| Самарское время | UTC+04:00, MSK+1 | UTC+04:00, MSK+1 |
| Екатеринбургское время | UTC+06:00, MSK+3 | UTC+05:00, MSK+2 |
| Омское время | UTC+07:00, MSK+4 | UTC+06:00, MSK+3 |
| Красноярское время | UTC+07:00, MSK+4 | |
| Иркутское время | UTC+09:00, MSK+6 | UTC+08:00, MSK+5 |
| Якутское время | ||
| Владивостокское время | UTC+11:00, MSK+8 | UTC+10:00, MSK+7 |
| Магаданское время | UTC+12:00, MSK+9 | UTC+11:00, MSK+8 |
| Камчатское время | UTC+12:00, MSK+9 | UTC+12:00, MSK+9 |
| Часовая зона | Старый UTC, MSK | Новый UTC, MSK |
|---|---|---|
| Калининградское время | UTC+03:00, MSK | UTC+02:00, MSK-1 |
| Московское время | UTC+04:00, MSK | UTC+03:00, MSK |
| Самарское время | UTC+04:00, MSK+1 | UTC+04:00, MSK+1 |
| Екатеринбургское время | UTC+06:00, MSK+3 | UTC+05:00, MSK+2 |
| Омское время | UTC+07:00, MSK+4 | UTC+06:00, MSK+3 |
| Красноярское время | UTC+07:00, MSK+4 | |
| Иркутское время | UTC+09:00, MSK+6 | UTC+08:00, MSK+5 |
| Якутское время | ||
| Владивостокское время | UTC+11:00, MSK+8 | UTC+10:00, MSK+7 |
| Магаданское время | UTC+12:00, MSK+9 | UTC+11:00, MSK+8 |
| Камчатское время | UTC+12:00, MSK+9 | UTC+12:00, MSK+9 |
Чтобы настроить часовой пояс, дату и время, выберите операционную систему вашего устройства:
Время и часовые пояса
Путешествуя по России и Миру, необходимо помнить, что время может меняться в зависимости от того, где вы находитесь. Так как в основном везде используется местное время необходимо уметь определять его в любой точке мира. В основу современной системы часовых поясов положено универсальное координированное время UTC (всемирное время), от которого зависит время всех часовых поясов. Шкала UTC была введена в 1964 году и устанавливается по атомным часам. Всемирное координированное время UTC, всегда остается независимым ориентиром для всего мира и из которого, зная разницу между своим поясным временем, вы всегда сможете вычислить ваше местное время.
Система поясного времени позволяет легко определять поясное время в любом пункте. Между поясным временем и часовыми поясами имеется определённая зависимость. Разность поясных времён двух пунктов равна разности номеров часовых поясов. Указанное соотношение позволяет определять время в заданном пункте по известному поясному времени другого пункта времени.
Время в заданном пункте будет равно времени пункта, где оно известно, плюс или минус разность номеров часовых поясов. Указанная разность прибавляется к известному поясному времени, если пункт, время которого определяется, расположен к востоку от пункта, время которого известно, а если к западу – вычитается.
Согласно федеральному закону «О внесении изменений в Федеральный закон «Об исчислении времени»», принятому 1 июля 2014 года, с 26 октября 2014 года московское время соответствует третьему часовому поясу в национальной шкале времени Российской Федерации UTC+3. Установлено 11 часовых зон, соответствующих по международной нумерации часовым поясам со 2-го по 12-й включительно.
1-я часовая зона (МСК-1, московское время минус 1 час, UTC+2): Калининградская область;
3-я часовая зона(МСК+1, UTC+4): Удмуртская Республика, Самарская область;
4-я часовая зона(МСК+2, UTC+5): Республика Башкортостан, Пермский край, Курганская область, Оренбургская область, Свердловская обл., Тюменская область, Челябинская обл., Ханты-Мансийский и Ямало-Ненецкий автономные округа;
5-я часовая зона(МСК+3, UTC+6): Республика Алтай, Алтайский край, Новосибирская, Омская и Томская обл.;
6-я часовая зона(МСК+4, UTC+7): Республика Тыва, Респ. Хакасия, Красноярский край и Кемеровская область;
7-я часовая зона(МСК+5, UTC+8): Республика Бурятия, Забайкальский край, Иркутская область;
8-я часовая зона(МСК+6, UTC+9): Республика Саха (Якутия) (Алданский, Амгинский, Анабарский, Булунский, Верхневилюйский, Вилюйский, Горный, Жиганский национальный эвенкийский, Кобяйский, Ленский, Мегино-Кангаласский, Мирнинский, Намский, Нерюнгринский, Нюрбинский, Олекминский, Оленекский эвенкийский национальный, Сунтарский, Таттинский, Томпонский, Усть-Алданский, Усть-Майский, Хангаласский, Чурапчинский и Эвено-Бытантайский районы), город Якутск, Амурская область;
9-я часовая зона(МСК+7, UTC+10): Республика Саха (Якутия) (Верхоянский, Оймяконский и Усть-Янский районы), Приморский и Хабаровский край, Магаданская обл., Сахалинская область (Александровск-Сахалинский, Анивский, Долинский, Корсаковский, Курильский, Макаровский, Невельский, Ногликский, Охинский, Поронайский, Смирныховский, Томаринский, Тымовский, Углегорский, Холмский, Южно-Курильский районы), Еврейская автономная область, город Южно-Сахалинск;
10-я часовая зона(МСК+8, UTC+11): Республика Саха (Якутия) (Абыйский, Аллаиховский, Верхнеколымский, Момский, Нижнеколымский и Среднеколымский районы), Сахалинская область (Северо-Курильский район);
11-я часовая зона(МСК+9, UTC+12): Камчатский край, Чукотский автономный округ.
Сигналы точного времени передаются по радио, телевидению и через Интернет в системе UTC.
Настройка часового пояса MySQL
Хранение даты в MySQL с учетом часового пояса — непростая тема. Однако с ней обязательно нужно разобраться, чтобы сайты и приложения работали правильно.
Время и дату в MySQL можно указывать в TIMESTAMP и DATETIME.
Для определения времени с учетом часового пояса MySQL можно отредактировать конфигурационный файл или использовать переменные. Мы рассмотрим оба способа.
Как установить время MySQL в конфигурационном файле
Самая большая проблема — найти конфигурационный файл my.cnf. Он может храниться как минимум в 5 местах:
Если вы нашли конфигурационный файл, то дальше уже сложностей не будет. Чтобы установить часовой пояс, добавьте в секцию [mysqld] следующую строку:
В этом случае мы прибавляем 2 часа относительно UTC — всемирного координированного времени. Поддерживаются также другие значения:
Чтобы применить конфигурацию, перезапустите MySQL.
Как установить часовой пояс MySQL через переменные
Чтобы изменить часовой через переменные в консоли, нужны права суперпользователя. Авторизуйтесь под root и укажите пароль. Затем посмотрите текущие дату и время. Сделать это можно командой
Если хотите вывести только время (без даты), выполните в консоли
Установить часовой пояс для конкретного пользователя можно через консоль, выполнив команду
В качестве примера мы поставили время, которое смещено относительно UTC на 2 часа. Однако у такого подхода есть большой недостаток. Если в стране принято переводить часы на летнее/зимнее время, то запрос обрабатывается неверно. В зависимости от текущего периода можно получить время на час больше или меньше. Чтобы устранить эту особенность, задайте временную зону в таком формате:
Однако и у такого подхода есть свои подводные камни. Например, в стране могут измениться правила перехода на зимнее и летнее время. В России за последнее десятилетие это случилось два раза: сначала перешли на летнее время, отказавшись от зимнего, а затем сделали наоборот — отказались от летнего, оставив только зимнее. Поэтому нужно следить за актуальностью данных и вносить изменения в часовые пояса MySQL вручную.
Чтобы изменения сохранялись после перезагрузки и применялись ко всему серверу баз данных, используйте глобальную переменную:
Также можно задавать время опционально для одной сессии. Для этого выполните команду
Можно проверить, требуется ли задавать время для конкретной сессии, выполнив команду
Если время сессии совпадает с системным, то задавать его отдельно не требуется.
Для корректной работы веб-приложения время PHP и MySQL должны совпадать. Если вы корректируете время в PHP, то нужно изменить часовой пояс MySQL, и наоборот.
Javascript и часовые пояса — правильное время на сайте
До сих пор существует путаница при реализации местного времени на сайте. Изрядный вклад в эту путаницу внесли российские законодатели с периодической отменой перехода на зимнее время. Вот Вы знаете какой сейчас у нас часовой пояс +3 или +4 часа? Вот и большинство пользователей этого не знают. Но есть очень простое решение как не отягощать пользователя этой проблемой! Нужно использовать время устройства (исходим из того, что это корректное местное время). Очевидное решение использовать функцию javascript getTimezoneOffset является в корне неправильным. Почему? Читайте дальше.
Как всё должно работать? Если пользователь отправляет своё сообщение например на форуме в 12:15 (по времени на его устройстве), то и увидеть своё сообщение на сайте он должен с этим же временем. Казалось бы, что если использовать смещение часового пояса (взятое из браузера из getTimezoneOffset), то всё должно работать. Но это не так!
Парадокс в том, что часовой пояс может быть неправильно установлен на устройстве пользователя. И это весьма распространённый случай, так как при смене часового пояса многие просто переводят время на несколько часов не трогая часового пояса. И как следствие мы имеем бесконечные ветки на форумах техподдержки «Настройка времени», которые расцветают при каждом переводе часов зима/лето или в период возвращения из отпусков.
Самое правильное — выставлять местное время на сайте в соответствии с временем установленным на устройстве пользователя не обращая внимание на часовой пояс. Исходим из того, что на сервере все даты хранятся в базе данных в формате GMT (и это правильно). Таким образом для правильного вывода дат (времени) в браузере пользователя нужно вычислить смещение между временем браузера и сервера.
На сервере текущее время в php можно получить функцией time(), в браузере функцией javascript Date(). И тогда смещение часового пояса можно вычислить при помощи javacript так:
Далее нужно передать значение time_zone на сервер и выводить время из БД с учётом этого смещения. Например если время хранится в БД в секундах, то для вывода в браузер используем следующее (на php):
Выше изложен двух-этапный метод:
1. Вначале вычисляется time_zone
2. time_zone отправляется на сервер и используется при дальнейшем выводе времени
Но можно всё сделать и в один этап. В этом случае при первой загрузке страницы в браузер так же вычисляется time_zone (см. выше) и далее все значения времени выводятся при помощи javacript. Например при помощи такой функции mydate():






