xslt中的日期时间

时间:2009-08-06 13:17:52

标签: xml xslt date

您好我将xml文件作为:

<order><Extension Properties><Date>2009-08-04T17:09:04.593+05:30</Date></Extension  Properties></Order>

我希望输出为

生成日期040809

我想通过xslt.Please帮助来做到这一点。!!

3 个答案:

答案 0 :(得分:1)

一种方法是使用子字符串函数:

<xsl:variable name="d" select="/order/Extension/Date" />
Generation Date <xsl:value-of select="concat(
substring($d, 9, 2),
substring($d, 6, 2),
substring($d, 3, 2))"/>

其他答案可能取决于您使用的XSL引擎。例如,如果您使用的是MSXML,则可以使用日期时间扩展函数:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ms="urn:schemas-microsoft-com:xslt">
    <xsl:output method="xml" />

    <xsl:template match="/">

        <xsl:template match="Date">
        <xsl:variable name="d" select="/order/Extension/Date" />
        Generation Date
        <xsl:value-of select="ms:format-date($d, 'ddMMyy')"/>

    </xsl:template>

</xsl:stylesheet>
祝你好运!

答案 1 :(得分:0)

<xsl:variable name="dateString" select="order/Extension/Date/> (or something along those lines)

<xsl:value-of select="substring($date,9,10)"><xsl:value-of select="substring($date,6,7)"><xsl:value-of select="substring($date,1,4)">

答案 2 :(得分:0)

使用this作为指南...

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <order>
      <xsl:element name="GenerationDate">
        <xsl:call-template name="FormatDate">
          <xsl:with-param name="DateTime" select="order/Extension/Date"/>
        </xsl:call-template>
      </xsl:element>
    </order>
  </xsl:template>

  <xsl:template name="FormatDate">
    <xsl:param name="DateTime" />
    <xsl:variable name="day">
      <xsl:value-of select="substring($DateTime,9,2)" />
    </xsl:variable>
    <xsl:variable name="month">
      <xsl:value-of select="substring($DateTime,6,2)" />
    </xsl:variable>
    <xsl:variable name="year">
      <xsl:value-of select="substring($DateTime,3,2)" />
    </xsl:variable>
    <xsl:value-of select="$day"/>
    <xsl:value-of select="$month"/>
    <xsl:value-of select="$year"/>
  </xsl:template>
</xsl:stylesheet>