2017-02-06 11 views
0

Как я должен преобразовать DateTime в XSLT, если я получить DateTime по Гринвичу в ниже форматеПреобразовать даты и времени в XSLT

<date>2017-02-05T10:40:00+04:00</date> 

output : 2017-02-05 14:40:00.000 
+1

Какая версия XSLT? –

+0

"* Я получаю datetime в GMT *« Вы делаете ** не ** получаете дату в GMT. Вы получаете дату и время в часовом поясе, что составляет 4 часа ** вперед ** от UTC. Чтобы получить соответствующее время и время UTC, вам нужно ** вычесть ** 4 часа, а не добавлять их. - В любом случае ответ зависит от того, используете ли вы XSLT 1.0 или 2.0. Если это XSLT 1.0, сообщите нам, какой процессор, чтобы мы знали, какие функции расширения могут использоваться, если они есть. –

+0

с использованием xslt 2.0. вы правильно должны добавить/вычесть на основе коэффициента преобразования – user3067170

ответ

1

В XSLT 2.0, вы можете сделать:

<xsl:template match="date"> 
    <xsl:copy> 
     <xsl:value-of select="adjust-dateTime-to-timezone(., xs:dayTimeDuration('PT0H'))"/> 
    </xsl:copy> 
</xsl:template> 

конвертировать:

<date>2017-02-05T10:40:00+04:00</date> 

в:

<date>2017-02-05T06:40:00Z</date> 
+0

, я смог сделать это, когда я просто передал один элемент, но не смог сделать это, передав весь xml. новичок в xslt parsing, пожалуйста, помогите – user3067170

+0

Я обновил свой вопрос – user3067170

+0

Ваш обновленный вопрос не имеет смысла. У вас есть именованный шаблон, но вы не показываете, как он называется (если вообще). В любом случае, это не имеет никакого отношения к исходному вопросу. Я предлагаю вам отменить свое редактирование и опубликовать новый вопрос с вашей текущей проблемой. –

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

  • Нет связанных вопросов^_^