在xslt中获取日期格式

在xslt中获取日期格式,xslt,Xslt,我有一个获取日期的xslt代码 <xsl:copy-of select="substring-before(msxsl:node-set($notes)/root/item/LASTCHANGED,'T')"/> 她说我得到了2013-04-05的输出 但我需要获得2013年1月15日左右的产出 我怎样才能做到这一点呢?任何人都可以帮忙只需更改顺序即可 XSLT <?xml version='1.0'?> <xsl:stylesheet version="1.

我有一个获取日期的xslt代码

<xsl:copy-of select="substring-before(msxsl:node-set($notes)/root/item/LASTCHANGED,'T')"/>

她说我得到了2013-04-05的输出

但我需要获得2013年1月15日左右的产出

我怎样才能做到这一点呢?任何人都可以帮忙

只需更改顺序即可

XSLT

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:ms="urn:schemas-microsoft-com:xslt"
      xmlns:dt="urn:schemas-microsoft-com:datatypes">
  <xsl:template match="/">
  <HTML>
  <HEAD>
  </HEAD>
  <BODY> 
   <xsl:for-each select="XMLSamples/FileDetails/Date">
      <DIV>
          Date Unedited:
          <xsl:value-of select="."/>
      </DIV>
      <DIV>
          Date Edited:
          <xsl:value-of select="ms:format-date(., 'MMM dd, yyyy')"/>
      </DIV>
   </xsl:for-each>
  </BODY> 
  </HTML>
</xsl:template>
</xsl:stylesheet>

未编辑日期:
编辑日期:
输出

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:ms="urn:schemas-microsoft-com:xslt"
      xmlns:dt="urn:schemas-microsoft-com:datatypes">
  <xsl:template match="/">
  <HTML>
  <HEAD>
  </HEAD>
  <BODY> 
   <xsl:for-each select="XMLSamples/FileDetails/Date">
      <DIV>
          Date Unedited:
          <xsl:value-of select="."/>
      </DIV>
      <DIV>
          Date Edited:
          <xsl:value-of select="ms:format-date(., 'MMM dd, yyyy')"/>
      </DIV>
   </xsl:for-each>
  </BODY> 
  </HTML>
</xsl:template>
</xsl:stylesheet>
未编辑日期:2000-02-16T15:56:00


编辑日期:2000年2月16日

您已经标记了问题xslt-2.0,但您使用的是
msxsl:node set
,它(a)在xslt 2中不需要,(b)表明您使用的是msxsl处理器,这就是xslt 1.0。如果您真的在使用xslt 2,那么它已经内置了。@lan Roberts很抱歉,它是唯一的xslt1.0。在这种情况下,最简单的方法可能是使用.NET
DateTime
方法编写一个
函数来进行解析和格式化。