Часовой пояс — это область, которая соблюдает единое стандартное время для юридических , коммерческих и социальных целей. Часовые пояса, как правило, следуют границам между странами и их подразделениями, а не строго следуют долготе , поскольку для областей с частым сообщением удобно придерживаться одного и того же времени.
Каждый часовой пояс определяется стандартным смещением от всемирного координированного времени (UTC). Смещения варьируются от UTC−12:00 до UTC+14:00 и обычно составляют целое число часов, но некоторые пояса смещены на дополнительные 30 или 45 минут, например, в Индии и Непале . Некоторые области в часовом поясе могут использовать другое смещение для части года, как правило, на один час вперед весной и летом , практика, известная как летнее время (DST).
В таблице ниже местоположения, которые используют летнее время (DST), перечислены в их смещении UTC, когда DST не действует. Когда действует DST, примерно весной и летом, их смещение UTC увеличивается на один час (за исключением острова Лорд-Хау , где оно увеличивается на 30 минут). Например, в период DST Калифорния соблюдает UTC−07:00 , а Соединенное Королевство соблюдает UTC+01:00 .
Видимое положение Солнца на небе, и, следовательно, солнечное время , различается в зависимости от местоположения из-за сферической формы Земли. Это изменение соответствует четырем минутам времени на каждый градус долготы , так что , например , когда в Лондоне солнечный полдень , он примерно на 10 минут опережает солнечный полдень в Бристоле , что примерно на 2,5 градуса западнее. [6]
Королевская обсерватория в Гринвиче , основанная в 1675 году, установила среднее время по Гринвичу (GMT), среднее солнечное время в этом месте, чтобы помочь мореплавателям определять долготу в море, предоставляя стандартное эталонное время, в то время как в каждом месте Англии использовалось разное время.
В 19 веке, по мере совершенствования транспорта и телекоммуникаций, для каждого места становилось все более неудобным соблюдать свое собственное солнечное время. В ноябре 1840 года британская Great Western Railway начала использовать GMT, хранящееся с помощью портативных хронометров . [7] [ проверка не удалась ] Эту практику вскоре переняли и другие железнодорожные компании Великобритании , и она стала известна как железнодорожное время .
Около 23 августа 1852 года сигналы времени впервые были переданы по телеграфу из Королевской обсерватории. К 1855 году 98% общественных часов Великобритании использовали GMT, но оно не было установлено как законное время острова до 2 августа 1880 года. Некоторые британские часы того периода имеют две минутные стрелки, одну для местного времени и одну для GMT. [8]
2 ноября 1868 года британская колония Новая Зеландия официально приняла стандартное время, которое должно было соблюдаться по всей колонии. [9] Оно основывалось на долготе 172°30′ к востоку от Гринвича , что на 11 часов 30 минут опережало GMT. Этот стандарт был известен как Новозеландское среднее время . [10]
Хронометраж на североамериканских железных дорогах в 19 веке был сложным. Каждая железная дорога использовала свое собственное стандартное время, обычно основанное на местном времени ее штаб-квартиры или наиболее важной конечной станции, и расписания поездов железной дороги публиковались с использованием ее собственного времени. Некоторые узлы, обслуживаемые несколькими железными дорогами, имели часы для каждой железной дороги, и каждые показывали разное время. [11] Из-за этого произошло несколько аварий, когда поезда разных компаний, использующие одни и те же пути, не совпадали по времени своего прохождения. [12]
Около 1863 года Чарльз Ф. Дауд предложил систему часовых поясов стандартного времени для североамериканских железных дорог, хотя в то время он ничего не публиковал по этому вопросу и не консультировался с железнодорожными чиновниками до 1869 года. В 1870 году он предложил четыре идеальных часовых пояса с границами с севера на юг, первый из которых был сосредоточен в Вашингтоне, округ Колумбия , но к 1872 году первый был сосредоточен на меридиане 75° к западу от Гринвича , с естественными границами, такими как участки Аппалачских гор . Система Дауда так и не была принята североамериканскими железными дорогами. Главный метеоролог Бюро погоды США Кливленд Эббе разделил Соединенные Штаты на четыре стандартных часовых пояса для согласованности между метеостанциями. В 1879 году он опубликовал статью под названием Report on Standard Time . [13] В 1883 году он убедил североамериканские железнодорожные компании принять его систему часовых поясов. В 1884 году Великобритания, которая уже приняла собственную стандартную систему времени для Англии, Шотландии и Уэльса, помогла собрать международное согласие для глобального времени. Со временем американское правительство, отчасти под влиянием статьи Аббе 1879 года, приняло систему часовых поясов. [14] Это была версия, предложенная Уильямом Ф. Алленом, редактором Traveler's Official Railway Guide . [15] Границы ее часовых поясов проходили через железнодорожные станции, часто в крупных городах. Например, граница между ее восточным и центральным часовыми поясами проходила через Детройт , Буффало , Питтсбург , Атланту и Чарльстон . Она была открыта в воскресенье, 18 ноября 1883 года, также называемое «Днем двух полудней», [16] когда часы каждой железнодорожной станции были сброшены по достижении полудня стандартного времени в каждом часовом поясе.
Североамериканские зоны были названы Межколониальной, Восточной, Центральной, Горной и Тихоокеанской. В течение года 85% всех городов с населением более 10 000 человек (около 200 городов) использовали стандартное время. [17] Заметным исключением был Детройт (расположенный примерно на полпути между меридианами Восточного и Центрального времени), который придерживался местного времени до 1900 года, затем попробовал Центральное стандартное время, местное среднее время и Восточное стандартное время (EST) до того, как постановление в мае 1915 года остановилось на EST и было ратифицировано всенародным голосованием в августе 1916 года. Путаница во времени закончилась, когда стандартные часовые пояса были официально приняты Конгрессом США в Законе о стандартном времени от 19 марта 1918 года.
Итальянский математик Квирико Филопанти представил идею всемирной системы часовых поясов в своей книге Miranda!, опубликованной в 1858 году. Он предложил 24 часовых часовых пояса, которые он назвал «долготными днями», первый из которых был сосредоточен на меридиане Рима . Он также предложил универсальное время для использования в астрономии и телеграфии. Однако его книга не привлекла внимания до самого его смерти. [18] [19]
Канадец шотландского происхождения сэр Сэндфорд Флеминг предложил всемирную систему часовых поясов в 1876 году - см. Сэндфорд Флеминг § Изобретатель всемирного стандартного времени . Предложение разделило мир на двадцать четыре часовых пояса, обозначенных AY (пропуская J), каждый из которых охватывал 15 градусов долготы. Все часы в каждом поясе будут установлены на то же время, что и другие, но отличаться на один час от часов в соседних поясах. [20] Он отстаивал свою систему на нескольких международных конференциях, включая Международную конференцию по меридианам , где она получила некоторое рассмотрение. Система не была принята напрямую, но некоторые карты делят мир на 24 часовых пояса и присваивают им буквы, аналогично системе Флеминга. [21]
Примерно к 1900 году почти все населенные места на Земле приняли стандартный часовой пояс, но только некоторые из них использовали часовое смещение от GMT. Многие применяли время в местной астрономической обсерватории ко всей стране, без какой-либо привязки к GMT. Прошло много десятилетий, прежде чем все часовые пояса стали основываться на каком-либо стандартном смещении от GMT или всемирного координированного времени (UTC). К 1929 году большинство стран приняли часовые часовые пояса, хотя некоторые страны, такие как Иран , Индия , Мьянма и части Австралии, имели часовые пояса со смещением на 30 минут. Непал был последней страной, принявшей стандартное смещение, немного сместившись до UTC+05:45 в 1986 году. [22]
Все страны в настоящее время используют стандартные часовые пояса для светских целей, но не все из них применяют эту концепцию в первоначальном виде. Несколько стран и подразделений используют получасовые или четвертьчасовые отклонения от стандартного времени. Некоторые страны, такие как Китай и Индия , используют единый часовой пояс, хотя протяженность их территории намного превышает идеальные 15° долготы в течение одного часа; другие страны, такие как Испания и Аргентина , используют стандартные часовые смещения, но не обязательно те, которые определяются их географическим положением. Последствия в некоторых областях могут повлиять на жизнь местных жителей, а в крайних случаях способствовать возникновению более крупных политических проблем, например, в западных районах Китая. [23] В России, где 11 часовых поясов , два часовых пояса были отменены в 2010 году [24] [25] и восстановлены в 2014 году. [26]
ISO 8601 — стандарт, установленный Международной организацией по стандартизации, определяющий методы представления дат и времени в текстовой форме, включая спецификации для представления часовых поясов.
Если время указано в формате всемирного координированного времени (UTC), то сразу после времени без разделительного пробела добавляется «Z». «Z» — это обозначение пояса для нулевого смещения UTC. «09:30 UTC» поэтому представляется как «09:30Z» или «0930Z». Аналогично, «14:45:15 UTC» записывается как «14:45:15Z» или «144515Z». [27] Время UTC также известно как время «зулу», поскольку «зулу» — это фонетическое кодовое слово алфавита для буквы «Z». [27]
Смещения от UTC записываются в формате ±hh:mm, ±hhmm или ±hh (либо часы вперед, либо часы позади UTC). Например, если описываемое время на один час опережает UTC (например, время в Германии зимой), обозначение пояса будет " +01:00 ", "+0100" или просто "+01". Это числовое представление часовых поясов добавляется к местному времени таким же образом, как добавляются буквенные сокращения часовых поясов (или "Z", как указано выше). Смещение от UTC изменяется с переходом на летнее время , например, смещение времени в Чикаго , который находится в североамериканском центральном часовом поясе , составляет " −06:00 " для зимы (центральное стандартное время) и " −05:00 " для лета (центральное летнее время). [28]
Часовые пояса часто обозначаются буквенными сокращениями, такими как «EST», «WST» и «CST», но они не являются частью международного стандарта времени и даты ISO 8601. Такие обозначения могут быть неоднозначными; например, «CST» может означать (североамериканское) центральное стандартное время (UTC−06:00), кубинское стандартное время (UTC−05:00) и китайское стандартное время (UTC+08:00), а также это широко используемый вариант ACST ( австралийского центрального стандартного времени , UTC+09:30). [29]
Преобразование между часовыми поясами подчиняется соотношению
в котором каждая часть уравнения эквивалентна UTC.
Уравнение преобразования можно переписать так:
Например, Нью-Йоркская фондовая биржа открывается в 09:30 ( EST , смещение UTC= −05:00). В Калифорнии ( PST , смещение UTC= −08:00) и Индии ( IST , смещение UTC= +05:30) Нью-Йоркская фондовая биржа открывается в
Эти расчеты становятся более сложными вблизи перехода на летнее время или с него, поскольку смещение UTC для данной области становится функцией времени UTC.
Разница во времени также может привести к разным датам. Например, когда в Египте понедельник 22:00 (UTC+02:00), в Пакистане вторник 01:00 (UTC+05:00).
Таблица «Время суток по поясам» дает обзор часовых поясов между различными поясами.
С 1920-х годов для судов в открытом море действует система морского стандартного времени . Как идеальная форма системы земного часового пояса, морские часовые пояса состоят из гор в 15°, смещенных относительно GMT на целое число часов. Морская линия перемены дат проходит по 180-му меридиану, разделяя одну гору в 15° на две гору в 7,5°, которые отличаются от GMT на ±12 часов. [30] [31] [32]
Однако на практике каждое судно может выбирать, какое время соблюдать в каждом месте. Суда могут решить перевести свои часы в удобное время, обычно ночью, а не точно тогда, когда они пересекают определенную долготу. [33] Некоторые суда просто придерживаются времени порта отправления в течение всего путешествия. [34]
Идеальные часовые пояса, такие как морские часовые пояса, основаны на среднем солнечном времени определенного меридиана в середине этой зоны с границами, расположенными на 7,5 градуса к востоку и западу от меридиана. На практике, однако, границы многих часовых поясов проводятся гораздо дальше на запад, а некоторые страны находятся полностью за пределами своих идеальных часовых поясов.
Например, хотя нулевой меридиан (0°) проходит через Испанию и Францию , они используют среднее солнечное время 15 градусов к востоку ( центральноевропейское время ), а не 0 градусов (среднее время по Гринвичу). Франция ранее использовала GMT, но была переведена на CET (центральноевропейское время) во время немецкой оккупации страны во время Второй мировой войны и не перешла обратно после войны. [35] Аналогичным образом, до Второй мировой войны Нидерланды придерживались «амстердамского времени», которое опережало среднее время по Гринвичу на двадцать минут. Они были обязаны следовать немецкому времени во время войны и придерживались его после этого. В середине 1970-х годов Нидерланды, как и другие европейские государства, начали соблюдать летнее время.
Одна из причин провести границы часовых поясов далеко на запад от их идеальных меридианов — обеспечить более эффективное использование солнечного света после полудня. [36] Некоторые из этих мест также используют летнее время (DST), что еще больше увеличивает разницу с местным солнечным временем. В результате летом солнечный полдень в испанском городе Виго наступает в 14:41 по часовому времени. В этой самой западной части континентальной Испании никогда не бывает заката до 18:00 по часовому времени, даже зимой, несмотря на то, что она находится на 42 градуса к северу от экватора. [37] В районе летнего солнцестояния в Виго время заката наступает после 22:00, как и в Стокгольме , который находится в том же часовом поясе и на 17 градусов севернее. Однако в Стокгольме восходы солнца случаются гораздо раньше. [38]
В Соединенных Штатах причины были более историческими и деловыми. В штатах Среднего Запада, таких как Индиана и Мичиган , жители Индианаполиса и Детройта хотели находиться в том же часовом поясе, что и Нью-Йорк, чтобы упростить общение и транзакции. [39]
Более экстремальным примером является Ном, Аляска , который находится на 165°24′W долготы — чуть западнее центра идеализированного часового пояса Самоа ( 165°W ). Тем не менее, Ном соблюдает время Аляски ( 135°W ) с летним временем, поэтому оно немного больше, чем на два часа опережает солнце зимой и более чем на три часа летом. [40] Коцебу, Аляска , также около того же меридиана, но к северу от Полярного круга, имеет два заката в один и тот же день в начале августа, один вскоре после полуночи в начале дня, а другой незадолго до полуночи в конце дня. [41]
Китай простирается на запад до 73° в. д. , но все его части используют UTC+08:00 ( 120° в. д. ), поэтому солнечный «полдень» может наступить уже в 15:00 в западных частях Китая, таких как Синьцзян . [42] Граница Афганистана и Китая отмечает самую большую разницу во времени на Земле: разница между UTC+4:30 в Афганистане и UTC+08:00 в Китае составляет 3,5 часа .
Многие страны, а иногда и только некоторые регионы стран, вводят летнее время (DST), также известное как летнее время, в течение части года. Обычно это подразумевает перевод часов на час вперед в начале весны и регулировку назад осенью («перевод часов вперед», «перевод часов назад»). Современное летнее время было впервые предложено в 1907 году и широко использовалось в 1916 году в качестве военной меры, направленной на экономию угля . Несмотря на разногласия , многие страны с тех пор использовали его время от времени; детали различаются в зависимости от местоположения и время от времени меняются. Страны вокруг экватора обычно не соблюдают летнее время, поскольку сезонная разница в солнечном свете там минимальна.
Многие компьютерные операционные системы включают необходимую поддержку для работы со всеми (или почти всеми) возможными местными временами на основе различных часовых поясов. Внутренне операционные системы обычно используют UTC в качестве своего основного стандарта хронометража , предоставляя услуги по преобразованию местного времени в UTC и обратно, а также возможность автоматически изменять преобразования местного времени в начале и конце летнего времени в различных часовых поясах. (См. статью о летнем времени для получения более подробной информации по этому аспекту.)
Веб-серверы, представляющие веб-страницы в первую очередь для аудитории в одном часовом поясе или ограниченном диапазоне часовых поясов, обычно показывают время как местное время, возможно, со временем UTC в скобках. Более ориентированные на международный уровень веб-сайты могут показывать время только в формате UTC или с использованием произвольного часового пояса. Например, международная англоязычная версия CNN включает GMT и гонконгское время, [43] тогда как версия США показывает восточное время . [44] Восточное время США и тихоокеанское время также довольно часто используются на многих англоязычных веб-сайтах в США с глобальной аудиторией. Формат обычно основан на примечании W3C «datetime».
Системы электронной почты и другие системы обмена сообщениями ( чат IRC и т. д.) [45] маркируют сообщения временем, используя UTC, или включают часовой пояс отправителя как часть сообщения, позволяя принимающей программе отображать дату и время отправки сообщения по местному времени получателя.
Записи базы данных , включающие временную метку, обычно используют UTC, особенно когда база данных является частью системы, охватывающей несколько часовых поясов. Использование местного времени для записей с временной меткой не рекомендуется для часовых поясов, в которых реализован переход на летнее время, поскольку раз в году существует часовой период, когда местное время неоднозначно.
В настоящее время календарные системы обычно привязывают свои временные метки к UTC и показывают их по-разному на компьютерах, которые находятся в разных часовых поясах. Это работает при телефонных или интернет-встречах. Это работает хуже во время путешествий, поскольку предполагается, что события календаря происходят в часовом поясе, в котором находился компьютер или смартфон при создании события. Событие может быть показано в неправильное время. Например, если житель Нью-Йорка планирует встретиться с кем-то в Лос-Анджелесе в 9 утра и делает запись в календаре в 9 утра (что компьютер предполагает как нью-йоркское время), запись в календаре будет в 6 утра, если использовать часовой пояс компьютера. Программное обеспечение для календаря также должно учитывать летнее время (DST). Если по политическим причинам даты начала и окончания летнего времени изменяются, записи календаря должны оставаться прежними по местному времени, даже если они могут смещаться по времени UTC.
Unix-подобные системы, включая Linux и macOS , хранят системное время в формате времени Unix , представляющем собой количество секунд (исключая високосные секунды ), прошедших с 00:00:00 по всемирному координированному времени (UTC) в четверг, 1 января 1970 года. [46] Время Unix обычно преобразуется в местное время при отображении для пользователя, а время, указанное пользователем в местном времени, преобразуется в время Unix. Преобразование учитывает часовой пояс и правила перехода на летнее время; по умолчанию часовой пояс и правила перехода на летнее время устанавливаются при настройке системы, хотя отдельные процессы могут указывать часовые пояса и правила перехода на летнее время с помощью переменной среды TZ . [ 47] Это позволяет пользователям, находящимся в нескольких часовых поясах или в одном часовом поясе, но с разными правилами перехода на летнее время, использовать один и тот же компьютер, при этом их соответствующее местное время правильно отображается для каждого пользователя. Информация о часовом поясе и правилах перехода на летнее время чаще всего поступает из базы данных часовых поясов IANA . Фактически, многие системы, включая все, что использует библиотеку GNU C , библиотеку C, основанную на библиотеке BSD C, или библиотеку C System V Release 4 , могут использовать эту базу данных.
Компьютерные системы на базе Windows до Windows 95 и Windows NT использовали местное время, но Windows 95 и более поздние версии, а также Windows NT, базируют системное время на UTC. [48] [49] Они позволяют программе извлекать системное время как UTC, представленное как год, месяц, день, час, минута, секунда и миллисекунда; [50] [51] Windows 95 и более поздние версии, а также Windows NT 3.5 и более поздние версии также позволяют извлекать системное время как количество единиц в 100 нс с 1601-01-01 00:00:00 UTC. [52] [53] Системный реестр содержит информацию о часовом поясе, которая включает смещение от UTC и правила, которые указывают даты начала и окончания летнего времени в каждом поясе. Взаимодействие с пользователем обычно использует местное время, и прикладное программное обеспечение может рассчитывать время в различных поясах. Терминальные серверы позволяют удаленным компьютерам перенаправлять свои настройки часового пояса на терминальный сервер, чтобы пользователи видели правильное время для своего часового пояса в своих сеансах рабочего стола/приложений. Терминальные службы используют базовое время сервера на терминальном сервере и информацию о часовом поясе клиента для расчета времени в сеансе.
В то время как большинство прикладного программного обеспечения будет использовать базовую операционную систему для информации о часовом поясе и правилах перехода на летнее время, платформа Java , начиная с версии 1.3.1, поддерживает собственную базу данных информации о часовом поясе и правилах перехода на летнее время. Эта база данных обновляется всякий раз, когда изменяются правила перехода на летнее время или часовой пояс. Oracle предоставляет инструмент обновления для этой цели. [54]
В качестве альтернативы информации, поставляемой с Java Platform, программисты могут использовать библиотеку Joda-Time. [55] Эта библиотека включает в себя собственные данные, основанные на базе данных часовых поясов IANA. [56]
Начиная с Java 8 появился новый API даты и времени, который может помочь с преобразованием времени. [57]
Традиционно поддержка часовых поясов для JavaScript была очень скудной . По сути, программисту приходилось извлекать смещение UTC, создавая экземпляр объекта времени, получая из него время GMT и вычисляя разницу между ними. Это не обеспечивает решения для более сложных вариаций летнего времени, таких как расходящиеся направления летнего времени между северным и южным полушариями.
ECMA-402, стандарт API интернационализации для JavaScript, предоставляет способы форматирования часовых поясов. [58] Однако из-за ограничений по размеру некоторые реализации или дистрибутивы не включают его. [59]
Объект DateTime в Perl поддерживает все записи в базе данных часовых поясов IANA и включает возможность получения, установки и преобразования между часовыми поясами. [60]
Объекты DateTime и связанные с ними функции были скомпилированы в ядро PHP , начиная с версии 5.2. Это включает в себя возможность получать и устанавливать часовой пояс скрипта по умолчанию, и DateTime знает о своем собственном часовом поясе внутри. PHP.net предоставляет обширную документацию по этому вопросу. [61] Как там отмечено, самая актуальная база данных часовых поясов может быть реализована через PECL timezonedb.
Стандартный модуль datetime, включенный в Python , хранит и оперирует классом информации о часовом поясе tzinfo. Сторонний модуль pytz предоставляет доступ к полной базе данных часовых поясов IANA. [62] Отрицательное смещение часового пояса в секундах сохраняется в атрибутах time.timezone и time.altzone. Начиная с Python 3.9, модуль zoneinfo вводит управление часовым поясом без необходимости в стороннем модуле. [63]
Каждый диалект Smalltalk имеет собственные встроенные классы для дат, времени и временных меток, только некоторые из которых реализуют классы DateAndTime и Duration, как указано в стандарте ANSI Smalltalk. VisualWorks предоставляет класс TimeZone, который поддерживает до двух ежегодно повторяющихся переходов смещения, которые, как предполагается, применяются ко всем годам (такое же поведение, как и часовые пояса Windows). Squeak предоставляет класс Timezone, который не поддерживает никаких переходов смещения. Dolphin Smalltalk вообще не поддерживает часовые пояса.
Для полной поддержки базы данных tz (zoneinfo) в приложении Smalltalk (включая поддержку любого количества ежегодно повторяющихся переходов смещения и поддержку различных правил перехода смещения внутри года в разные годы) доступна сторонняя библиотека Chronos Date/Time с открытым исходным кодом, совместимая с ANSI-Smalltalk, для использования с любым из следующих диалектов Smalltalk: VisualWorks, Squeak, Gemstone или Dolphin. [64]
На орбите космического корабля может произойти много восходов и закатов или ни одного за 24 часа. Поэтому невозможно откалибровать время относительно Солнца и при этом соблюдать 24-часовой цикл сна/бодрствования. Распространенной практикой для исследования космоса является использование земного времени стартовой площадки или центра управления полетами, синхронизируя циклы сна экипажа и диспетчеров. Международная космическая станция обычно использует среднее время по Гринвичу (GMT). [65] [66]
Хронометраж на Марсе может быть более сложным, поскольку на планете солнечные сутки длятся приблизительно 24 часа и 40 минут, известные как сол . Земные диспетчеры некоторых марсианских миссий синхронизировали свои циклы сна/бодрствования с марсианскими сутками, когда происходит особая активность марсоходов, работающих на солнечной энергии. [67]