我想知道是否可以使用XSLT將當前日期格式轉換爲ISO_8601格式。XSLT將當前日期轉換爲iso_8601
在XML的日期目前被設置爲:
<end_date>
<![CDATA[ 2015-10-14 23:59:59 ]]>
我想知道是否可以使用XSLT將當前日期格式轉換爲ISO_8601格式。XSLT將當前日期轉換爲iso_8601
在XML的日期目前被設置爲:
<end_date>
<![CDATA[ 2015-10-14 23:59:59 ]]>
在你的榜樣,
<xsl:value-of select="translate(normalize-space(end_date), ' ', 'T')"/>
將返回:
2015-10-14T23:59:59
這是一個有效的ISO 8601表示日期和本地時間。
如果確定給定值是在UTC(雖然我沒有看到你輸入的任何這種跡象),並且要註明這一點的結果,你可以這樣做:
<xsl:value-of select="concat(translate(normalize-space(end_date), ' ', 'T'), 'Z')"/>
返回:
2015-10-14T23:59:59Z
謝謝你的工作! –
這裏是一個XSLT,做的工作:
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:i="http://schemas.datacontract.org/2004/07/Uanet>"
>
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="end_date">
<!--copy current node-->
<xsl:copy>
<xsl:apply-templates select="text()" />
</xsl:copy>
</xsl:template>
<!--
input : 2015-10-14 23:59:59
output : 2015-10-14T23:59:59Z
-->
<xsl:template match="text()">
<xsl:variable name="trimmed" select="." />
<xsl:value-of select="substring($trimmed,0,12)" />
<xsl:text>T</xsl:text>
<xsl:value-of select="substring($trimmed,13,8)" />
<xsl:text>Z</xsl:text>
</xsl:template>
</xsl:stylesheet>
請出示ISO_8601格式的個例。幫助人們幫助你 –
2015-10-14T23:59:59Z –
@AdnaanAli你的源代碼沒有時區或時間偏移量,所以在結果中附加「Z」不能被認爲是「轉換」。 –