Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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/5/date/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
Xml 使用XSLT将日期时间转换为完整单词_Xml_Date_Xslt_Time_Formatting - Fatal编程技术网

Xml 使用XSLT将日期时间转换为完整单词

Xml 使用XSLT将日期时间转换为完整单词,xml,date,xslt,time,formatting,Xml,Date,Xslt,Time,Formatting,我刚刚开始学习XSLT,并希望转换一些XML时间和日期数据,以使其完全清楚。虽然我见过将日期信息输出为单词(12到12月)的方法,但我没有看到任何允许转换时间(6:30到6:30)或年份(2005到2005)的方法 有什么标准的方法可以做到这一点吗?如果不是,那么使用xsl:If是否可行(如果很长)?我可以将输入限制在四分之一小时内 今年怎么样 可能有人写了一些有用的东西,并将在此处发布链接,但与此同时,一个快速而肮脏的解决方案可能是: <xsl:choose> <xsl:

我刚刚开始学习XSLT,并希望转换一些XML时间和日期数据,以使其完全清楚。虽然我见过将日期信息输出为单词(12到12月)的方法,但我没有看到任何允许转换时间(6:30到6:30)或年份(2005到2005)的方法

有什么标准的方法可以做到这一点吗?如果不是,那么使用xsl:If是否可行(如果很长)?我可以将输入限制在四分之一小时内


今年怎么样

可能有人写了一些有用的东西,并将在此处发布链接,但与此同时,一个快速而肮脏的解决方案可能是:

<xsl:choose>
  <xsl:when test='hour = 1'>
    one
  </xsl:when>
  <xsl:when test='hour = 2>
    two
  </xsl:when>
  ...
</xsl:choose>

一
在XSLT 2.0中,可以使用以多种方式格式化日期和时间,例如:

XML

<input>2014-04-30T15:45:12</input>
2014-04-30T15:45:12
XSLT2.0

<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="/">
    <output>
        <xsl:value-of select="format-dateTime(input, 
            'The [DWwo] Day of [MNn] in the Year [YWw], at [hWw] Hours and [mWv] Minutes [PN]'
            )" />   
    </output>
</xsl:template>

</xsl:stylesheet>

结果

<?xml version="1.0" encoding="UTF-8"?>
<output>The Thirtieth Day of April in the Year Two Thousand and Fourteen, at Three Hours and Forty Five Minutes P.M.</output>

2014年4月30日,下午3点45分。

请说明您使用的是XSLT 1.0还是2.0。--也张贴一个输入的例子和确切的结果,你正在寻找。真棒!在看示例时,我更容易理解。非常感谢。