Datetime 在xslt中转换日期时间

Datetime 在xslt中转换日期时间,datetime,xslt,transform,xslt-2.0,Datetime,Xslt,Transform,Xslt 2.0,如果以下面的格式获得GMT格式的日期时间,我应该如何转换xslt格式的日期时间 <date>2017-02-05T10:40:00+04:00</date> output : 2017-02-05 14:40:00.000 2017-02-05T10:40:00+04:00 输出:2017-02-05 14:40:00.000 在XSLT 2.0中,您可以执行以下操作: <xsl:template match="date"> <xsl:cop

如果以下面的格式获得GMT格式的日期时间,我应该如何转换xslt格式的日期时间

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

output : 2017-02-05 14:40:00.000
2017-02-05T10:40:00+04:00
输出:2017-02-05 14:40:00.000

在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>
2017-02-05T10:40:00+04:00
进入:

2017-02-05T06:40:00Z

XSLT的哪个版本?“我以格林尼治标准时间获取日期时间”您不能以格林尼治标准时间获取日期时间。您获取的日期时间位于UTC前4小时的时区。为了获得相应的UTC日期时间,您需要减去4小时,而不是相加。-无论如何,答案取决于您使用的是XSLT1.0还是XSLT2.0。如果是XSLT1.0,请告诉我们哪个处理器,以便我们知道可以使用哪些扩展函数(如果有的话)。我正在使用XSLT2.0。您是对的,需要根据转换因子进行加法/减法运算。我只传递了一个元素,但在传递整个xml时却做不到。我是xslt解析新手,请帮助我更新后的问题毫无意义。您有一个命名模板,但不显示如何调用它(如果有)。无论如何,这与原来的问题无关。我建议您回滚编辑,并用当前问题发布新问题。抱歉,如果我不清楚,我将调用模板。很抱歉,我没有发布完整的xslt。我需要转换日期并构建行。我仍然认为您应该将此作为新问题发布。但一般来说,您需要使用
而不是
——同样,对于
chekouttime
。正如您所说,我已将此问题编辑回原始问题,并发布了一个新问题。你能看一下吗。
<date>2017-02-05T06:40:00Z</date>