需要将日期与斜杠类型进行比较

need to compare the date with slash type

我需要比较日期,我试过日期格式,但它不起作用

XML:

<renewalDate>2/15/2022</renewalDate>

我正在使用的 XSL:

    <xsl:variable name="ShortDate" select="xs:date('2/15/2022')"/>
    <xsl:variable name="RenewalDate" select="xs:date(renewalDate)"/>
    <xsl:if test="$RenewalDate &gt;= $ShortDate">
    <xsl:text>Date Expired<xsl:text>
    </xsl:if>

它不工作,甚至我尝试使用格式日期,然后我也收到错误,例如无法将 xs:string 与 xs:number 进行比较。

日期必须采用 YYYY-MM-DD 格式。试试这样:

<xsl:variable name="rc" select="tokenize(renewalDate,'/')" />
<xsl:variable name="renew" select="concat($rc[3], format-number(number($rc[1]), '-00'), format-number(number($rc[2]), '-00'))" />
<xsl:variable name="ShortDate" select="'2022-02-15'"/>
<xsl:if test="xs:date($renew) ge xs:date($ShortDate)">Date Expired</xsl:if>