Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt 日期和时间转换_Xslt_Date - Fatal编程技术网

Xslt 日期和时间转换

Xslt 日期和时间转换,xslt,date,Xslt,Date,我的问题是,例如,我收到一个串联格式的日期: Ex: 20050728 我必须通过xslt以可读的格式检索它 Ex. 28 July 2005 关于时间,我也有一个类似的问题 Ex: 0004 显示为00:04 如何做到这一点?如果可以使用XPath 2.0,请参见此。xslt可用使用下面解决方案中所示的函数: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> &l

我的问题是,例如,我收到一个串联格式的日期:

Ex: 20050728
我必须通过xslt以可读的格式检索它

Ex. 28 July 2005
关于时间,我也有一个类似的问题

Ex: 0004
显示为
00:04


如何做到这一点?

如果可以使用XPath 2.0,请参见此。

xslt可用

使用下面解决方案中所示的函数:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>
 <!--                                           -->
 <xsl:variable name="vrMonths">
   <m>January</m>
   <m>February</m>
   <m>March</m>
   <m>April</m>
   <m>May</m>
   <m>June</m>
   <m>July</m>
   <m>August</m>
   <m>September</m>
   <m>October</m>
   <m>November</m>
   <m>December</m>
 </xsl:variable>
 <!--                                           -->
 <xsl:variable name="vMonths" select=
  "document('')/*/xsl:variable[@name='vrMonths']/*"/>
<!--                                           -->
    <xsl:template match="date">
      <xsl:value-of select=
       "concat(substring(.,7), ' ',
             $vMonths[number(substring(current(),5,2))], ' ',
             substring(.,1,4))"
       />
    </xsl:template>
 <!--                                           -->
    <xsl:template match="time">
     <xsl:value-of select=
     "concat(substring(.,1,2),':',substring(.,3))"/>
    </xsl:template>
</xsl:stylesheet>
<t>
 <date>20050728</date>
 <time>0004</time>
</t>
 28 July 2005
 00:04