Почему xsd spec принимает часовые пояса, имеющие -14H?
Я играл с некоторыми функциями dateTime в xquery, и я заметил, что xquery принимает даты с часовыми поясами, имеющими -14 часов.
Глядя на wikipedia link я вижу, что минимально допустимый часовой пояс-12H, но функции xpath, кажется, позволяют -14H.
3 ответов:
Часовые пояса по всему миру
В то время как +/-12ч (другими словами: день) было бы достаточно, чтобы охватить весь мир, есть причины отклоняться дальше. Отличный пример-Тонга и Самоа с +13h, фактически находясь к западу от Хауленда и Бейкер-Айленда, имеющих-12h. это имеет смысл: Хауленд и Бейкер-Айленд присоединены к США (имея-8h на Западном берегу), в то время как для Тонги и Самоа торговля с Австралией и Новой Зеландией гораздо важнее. Кирибати и линия Острова даже имеют +14h по умолчанию.
Смена Часовых Поясов
Часовые пояса меняются время от времени. Особенно вокруг границы даты, случается, что государства решают, что торговля и сотрудничество с другой страной "по другую сторону" зоны даты более важны и корректируют свой собственный часовой пояс для облегчения коммуникации. Самоа фактически изменили свой часовой пояс совсем недавно .
Разрешение + / - 14h обеспечивает некоторую гибкость с учетом политических изменений без требуется внести изменения в спецификации. Хотя +14h кажется немного произвольным; будем надеяться, что Французская Полинезия (или любой другой небольшой остров, более тесно связанный с Европой, чем Америка, не рассматривает возможность изменения своего часового пояса на +15h.
Он исходит из ISO, который идет в 14 в обоих направлениях. Хотя нет областей, которые в настоящее время определяют свое время как -14, есть некоторые, которые определяют его как +14 (Тонга) и т. д./GMT-14 является смещением -14:00.
Интересный вопрос. XSD 1.0 говорит в одном месте
Все временные интервалы являются координированным универсальным временем (UTC, иногда называемым "средним временем по Гринвичу"). Другие часовые пояса, указанные в лексических представлениях, преобразуются в UTC при преобразовании литералов в значения. "Локальным" или несвоевременным временем считается время в часовом поясе какого-либо неопределенного населенного пункта, как это предписано соответствующим юридическим органом; в настоящее время не существует юридически предписанных часовые пояса, которые являются длительностями, величина которых превышает 14 часов.
В другом говорится:
Это наводит меня на мысль, что предложение Йенса Эрата (разрешить смещения немного больше, чем требуется в настоящее время, просто на всякий случай) попадает в точку довольно хорошо. Я не сверялся со списками обсуждений РГ XSD за соответствующий период, чтобы посмотреть, были ли выдвинуты другие аргументы.На основе часовых поясов, используемых в настоящее время, [значение 2000-01-20T12:00:00Z] может варьироваться от 2000-01-20T12:00:00+12:00 до 2000-01-20T12:00:00-13:00. Однако в будущем этот диапазон может быть расширен или сокращен на основе местных законов. Поэтому в следующем определении используется несколько более широкий диапазон неопределенных значений: +14: 00..-14: 00.
Что касается возможности того, что какая-то юрисдикция или другая смещается на смещение +15:00, JE прав, что это может быть немного неудобно. Вопрос, возможно, казался менее важно в XSD 1.0, так как в 1.0 смещение часового пояса было только лексическим явлением и не имело ничего общего со значением (которое всегда было UTC); это может показаться более важным в 1.1 (и в XPath 2.0 и связанных спецификациях), где смещение часового пояса является частью значения.
Но одним из главных мотиваторов таких смещений (в то время, по крайней мере, для некоторых членов РГ) было желание стать той частью мира, где второе тысячелетие наступит первым, с сопутствующая надежда на дополнительные доходы от туризма. Этот мотив, по крайней мере, на время исчез. И в любом случае, даже если смещение часового пояса является частью значения, его отношение к местному гражданскому времени почти никогда не будет простым. Многие юрисдикции изменяют смещение местного гражданского времени на UTC непредсказуемым образом (и не только в поисках доходов от туризма). Любой, кто хочет связать значение времени с местным гражданским временем, должен использовать что-то другое, чем голое значениеtime, С или без смещения. (10: 00: 00.00-05: 00 говорит, что это происходит в 10 Восточное [стандартное] время? или 10 по Центральному [дневному] времени? Является ли время, отмеченное 10 утра по восточному времени до или после времени 14: 30: 00.0 Z? В общем случае единственный возможный ответ - "да, вероятно".)Как с високосными секундами, так и со смещениями часовых поясов: было бы неплохо иметь тип данных, который принимает все законные значения, отвергает все фиктивные значения и поддается вычислительной и организационной обработке. И так как мы не похоже, чтобы мы могли определить такой тип, мы делаем лучшее приближение, которое мы можем сделать, и двигаемся дальше. (И почему решение в одном случае позволяет ценностям, которые кажутся фальшивыми, как смещение, которое на самом деле не использует никакая юрисдикция, а в другом случае запрещает ценности, которые на самом деле законны, как те, которые падают в течение високосных секунд? Лучший вопрос. Единственный ответ, который я могу предложить: РГ сделала лучшее приближение, которое она могла бы сделать, и ... в итоге... двигаться дальше.)
Comments