2013-12-06 3 views
0

Возможно ли в XSLT получить смещение часового пояса для определенной локали? Существует функция с именем in-summer-time, которая принимает значение dateTime и идентификатор локали. Он возвращает ли данная дата для перехода на летнее время или нет для этой страны.XSLT - получить смещение временной зоны от локали

У меня есть требование, когда мне нужно рассчитать время смещения для определенной локали. Например, я получаю местное время в Чили, и мне нужно преобразовать его в местное время в Великобритании. Я могу использовать функцию in-summer-time для расчета корректировок дневного света. Но, где я могу получить фактическое время смещения для Чили?

P.S .: функция отрегулировать время-время-время не помогает, так как требуется, чтобы время смещения передавалось в функцию (например, 2013-05-10T08: 10: 30-05: 00). У меня нет информации о времени смещения (-05: 00).

+0

Вы можете загрузить таблицу значений, отображающих от местности, чтобы компенсировать , Начните с http://en.wikipedia.org/wiki/List_of_UTC_time_offsets –

ответ

1

Там есть функция расширения Саксон

Saxon: регулировка к гражданским времени

http://www.saxonica.com/documentation/index.html#!functions/saxon/adjust-to-civil-time См

, который выглядит так, как будто это могло бы служить этой цели.

(Заголовок дает функцию подписи в документации не так.)

Например

саксонские: Отрегулировать к гражданско-времени (хз: DATETIME ('2013-12-06T12: 00 : 00Z '), 'Америка/Santiago')

возвращает

2013-12-06T09: 00: 00-03: 00

+0

Спасибо, Майк. Функция «регулировать-гражданское время» требует времени ввода в формате UTC. В моем случае, время в пути - это местное время в Чили, что является проблемой. –

+0

Да, но для получения необходимой информации для обратного преобразования должно быть возможно использовать время отклика на гражданское. Если вы берете дату/время UTC и применяете время отклика на гражданское время, то getTimezone() в результате даст вам смещение часового пояса для Чили, и вы можете применить это смещение, используя параметр date-time-to-timezone (возможно, после его отрицания?) в местное время Чили, чтобы преобразовать его в UTC. –

Смежные вопросы