Читайте также:
|
|
Поскольку всюду на планете люди считают полднем наивысшую точку подъема солнца над горизонтом, никто и не пытался ввести одни уни_ версальные часы на всех. Вместо этого мир был разделен на 24 вообра_ жаемые секции, названные часовыми поясами (time zones). В рамках одного часового пояса все придерживаются текущего времени, а в дру_ гом поясе люди живут по другому времени. Все выглядит достаточно просто, но одни географические регионы переводят свое время на час дважды в год (реализуя нак называемое декретное время (Daylight Sa_ vings Time)), а другие – нет. Таким образом, разница во времени междудвумя точками планеты может первые полгода составлять четыре часа, а вторые – пять часов. Даже в рамках одного часового пояса одни ре_ гионы могут принимать, а другие не принимать декретное время. По_ этому в одном часовом поясе полгода время может совпадать, а полгода отличаться на час.
Компьютерная эра обострила эту проблему, хотя различия часовых поясов известны со времен великих географических открытий. Чтобы обеспечить общую точку отсчета для хронометрирования, мореплава_ тели XV столетия устанавливали свои часы по Гринвичу (Англия). Это время назвали временем по Гринвичу (Greenwich Mean Time), или GMT. Все остальные часовые пояса можно описать разностью между GMT и местным временем. Например, часовой пояс восточных штатов Америки, известный как восточное поясное время (Eastern Standard Time), можно описать как GMT_5:00 (на пять часов раньше GMT).
Сегодня используется разновидность GMT – универсальное глобальное время (coordinated universal time), или UTC, отсчитываемое по атом_
Временные данные | |
ным часам (или точнее среднее время 200 атомных часов, размещен_ ных в 50 точках по всему миру, которое называют всемирным временем (universal time)). И SQL Server, и MySQL предоставляют функции, воз_ вращающие текущее время UTC (getutcdate() для SQL Server и utc_ti_ mestamp() для MySQL).
Большинство серверов БД по умолчанию используют настройки часо_ вого пояса сервера, на котором размещены, и предоставляют инстру_ менты для изменения часового пояса в случае необходимости. Напри_ мер БД, предназначенная для хранения фондовых операций со всего света, обычно конфигурируется на использование времени UTC, тогда как БД для хранения операций конкретного предприятия розничной торговли может использовать часовой пояс сервера.
MySQL придерживается двух разных настроек часового пояса – гло_ бальный часовой пояс и сеансовый часовой пояс, который может отли_ чаться для каждого зарегистрированного пользователя. Следующий запрос позволяет увидеть обе настройки:
mysql> SELECT @@global.time_zone, @@session.time_zone;
+____________________+_____________________+
| @@global.time_zone | @@session.time_zone |
+____________________+_____________________+
| SYSTEM | SYSTEM |
+____________________+_____________________+
1 row in set (0.00 sec)
Значение system (система) сообщает, что сервер использует настройку часового пояса сервера, на котором установлена БД.
Если пользователь находится в Цюрихе (Швейцария) и по сети откры_ вает сеанс на сервере MySQL, расположенном в Нью_Йорке, вероятно, он захочет изменить часовой пояс для своего сеанса и может сделать это посредством следующей команды:
mysql> SET time_zone = 'Europe/Zurich';
Query OK, 0 rows affected (0.18 sec)
Если снова проверить настройки часового пояса, увидим следующее:
mysql> SELECT @@global.time_zone, @@session.time_zone;
+____________________+_____________________+
| @@global.time_zone | @@session.time_zone |
+____________________+_____________________+
| SYSTEM | Europe/Zurich |
+____________________+_____________________+
1 row in set (0.00 sec)
Все даты, отображаемые в сеансе, теперь будут соответствовать Цю_ рихскому времени.
142 Глава 7. Создание, преобразование и работа с данными
Пользователи Oracle Database могут изменить настройку часо_ вого пояса для сеанса следующей командой:
ALTER SESSION TIMEZONE = 'Europe/Zurich'
Дата добавления: 2015-08-17; просмотров: 54 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Обработка данных со знаком | | | Строковые представления временных данных |