使用 XSLT 将节点日期时间转换为纪元时间
Convert a node datetime to Epouch time using XSLT
我从具有 CREATION_DATE 节点的其他系统获得 xml。
<CREATION_DATE>20/05/2021 10:10:00 </CREATION_DATE>
我必须将此节点转换为 unix 毫秒时间,例如
<CREATION_DATE>161273897651200 </CREATION_DATE>
我的 XSLT 无法转换它。
<xsl:if test="/CREATION_DATE != ''" >
<creation_date>
<xsl:variable name="dateTimeValue"/>
<xsl:value-of select="(/CREATION_DATE,'0')[.
ne ''][1]"/>
<xsl:sequence select=
"( xs:dateTime($dateTimeValue) - xs:dateTime('1970-01-01T00:00:00') )
div
xs:dayTimeDuration('PT1S')
"/>
</creation_date>
</xsl:if>
不知道哪里出了问题,请帮忙
CREATION_DATE
值不是有效的日期时间格式字符串。因此,您需要首先构建一个格式正确的 dateTime 值以用于 $dateTimeValue
of 2021-05-20T10:10:00
:
<xsl:if test="/CREATION_DATE != ''" >
<creation_date>
<xsl:variable name="dateTimeSeq" select="tokenize(/CREATION_DATE, ' ')"/>
<xsl:variable name="dateTimeValue" select="concat(string-join(reverse(tokenize($dateTimeSeq[1], '/')), '-'), 'T', $dateTimeSeq[2])"/>
<xsl:sequence select=
"( xs:dateTime($dateTimeValue) - xs:dateTime('1970-01-01T00:00:00') )
div
xs:dayTimeDuration('PT1S')
"/>
</creation_date>
</xsl:if>
我从具有 CREATION_DATE 节点的其他系统获得 xml。
<CREATION_DATE>20/05/2021 10:10:00 </CREATION_DATE>
我必须将此节点转换为 unix 毫秒时间,例如
<CREATION_DATE>161273897651200 </CREATION_DATE>
我的 XSLT 无法转换它。
<xsl:if test="/CREATION_DATE != ''" >
<creation_date>
<xsl:variable name="dateTimeValue"/>
<xsl:value-of select="(/CREATION_DATE,'0')[.
ne ''][1]"/>
<xsl:sequence select=
"( xs:dateTime($dateTimeValue) - xs:dateTime('1970-01-01T00:00:00') )
div
xs:dayTimeDuration('PT1S')
"/>
</creation_date>
</xsl:if>
不知道哪里出了问题,请帮忙
CREATION_DATE
值不是有效的日期时间格式字符串。因此,您需要首先构建一个格式正确的 dateTime 值以用于 $dateTimeValue
of 2021-05-20T10:10:00
:
<xsl:if test="/CREATION_DATE != ''" >
<creation_date>
<xsl:variable name="dateTimeSeq" select="tokenize(/CREATION_DATE, ' ')"/>
<xsl:variable name="dateTimeValue" select="concat(string-join(reverse(tokenize($dateTimeSeq[1], '/')), '-'), 'T', $dateTimeSeq[2])"/>
<xsl:sequence select=
"( xs:dateTime($dateTimeValue) - xs:dateTime('1970-01-01T00:00:00') )
div
xs:dayTimeDuration('PT1S')
"/>
</creation_date>
</xsl:if>