gpt4 book ai didi

xslt - dateTime 到 Epoch,反之亦然 xslt

转载 作者:行者123 更新时间:2023-12-05 00:43:42 25 4
gpt4 key购买 nike

我一直在尝试将给定的日期时间转换为纪元时间,并将给定的纪元时间转换为日期时间。我对 xslt 很陌生,并且已经为此苦苦挣扎了一段时间,它没有给我任何结果。到目前为止,这是我的 xslt

    <xsl:stylesheet version="1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns0="http://www.NoPreAuth.org"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="xsi xsl ns0 xsd">
<xsl:template match="/">
<xsl:variable name="date1">
<xsl:value-of select="/ns0:NoAuthInput/ns0:StartDate"/>
</xsl:variable>
<xsl:variable name="date2">
<xsl:value-of select="/ns0:NoAuthInput/ns0:EndDate"/>
</xsl:variable>
<ns0:NoPreAuthInput>
<ns0:Product>
<xsl:value-of select="/ns0:NoAuthInput/ns0:Product"/>
</ns0:Product>
<!-- datTime to epoch -->
<ns0:END_T>
<xsl:value-of select= "(('$date1') - xsd:dateTime('1970-01-01T00:00:00') ) div xsd:dayTimeDuration('PT1S') "/>
</ns0:END_T>
<!-- epoch To datTime -->
<ns0:Closed_T>
<xsl:value-of select= "(('$date2') + xsd:dateTime('1970-01-01T00:00:00') ) * xsd:dayTimeDuration('PT1S') "/>
</ns0:Closed_T>
</ns0:NoPreAuthInput>
</xsl:template>
</xsl:stylesheet>

我试图转换的 xml 是:
<?xml version="1.0" encoding="UTF-8" ?>
<NoAuthInput xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.NoAuth.org

xmlns="http://www.NoAuth.org">
<Product>ABC</Product>
<StartDate>2015-10-05T15:52:40.782</StartDate>
<EndDate>1444150760</EndDate>
</NoAuthInput>

对此非常感谢的任何帮助。谢谢

最佳答案

转换 Unix time到 ISO 8601 日期时间:

<xsl:value-of select="xs:dateTime('1970-01-01T00:00:00') + xs:dayTimeDuration(concat('PT', UnixTime, 'S'))"/>

转换 ISO 8601 date-time到 Unix 时间;
<xsl:value-of select="floor((xs:dateTime(ISODateTime) - xs:dateTime('1970-01-01T00:00:00')) div xs:dayTimeDuration('PT1S')) "/>

需要 XSLT 2.0。

工作演示: http://xsltransform.net/94rmq5L

关于xslt - dateTime 到 Epoch,反之亦然 xslt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32975793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com