2015-07-27 2 views
0

У меня есть строка ISO8601 (например, date = "2015-07-10T04: 31: 25") Мне нужно преобразовать это в формат: 7 июля 2015 года, 16:31:25 (EDT)Как преобразовать строку времени даты ISO8601 в простой формат времени даты в XSL версии 1.0?

Хотя я могу написать шаблон и использовать substring(), чтобы преобразовать строку в формате даты. Однако я не уверен, как достичь информации AM/PM и часового пояса?

Шаблоны рабочего кода были бы высоко оценены. Благодаря!

+0

«* Шаблоны рабочих кодов будут высоко оценены. *« Действительно, они будут. –

+0

XSLT 1.0 или 2.0? В 2.0 вы используете функцию format-dateTime(). –

+0

@TinyStrides http://stackoverflow.com/help/someone-answers –

ответ

0

Я не уверен, как достичь AM/PM ...

Он может быть вычислен по часовой компонент, как:

substring('AMPM', 1 + 2*(number($hour) > 11), 2) 

Конечно, на данном входе , где $ hour будет "04", правильный результат: "AM", а не "PM".

... и информация о часовом поясе?

Ваш вклад не содержит никакой информации о часовом поясе, так что если вы не хотите жестко закодировать EDT в виде строки, нет никакого способа, чтобы получить его.

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