需要将日期与斜杠类型进行比较
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 >= $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>
我需要比较日期,我试过日期格式,但它不起作用
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 >= $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>