使用XSLT将字符串表示形式转换为日期

使用XSLT将字符串表示形式转换为日期,xslt,jira,Xslt,Jira,基于JIRA提供的XML RSS提要,我试图根据日期创建一些分组,即一年中一个月内有多少个bug。 这给了我一些问题。我可以根据任务类型找到任务并对其进行分组,但在处理日期方面,我做得不够 日期字符串如下所示:Thu,2012年10月4日10:53:38+0200。 我的问题是,我似乎无法从这个字符串中提取月份和年份 该脚本将在JIRA/Confluence下运行,因此我怀疑exslt中的date paser能否在该平台上运行 我不需要时间,这样可以删除。我需要的是能够从这个文本字符串中提取月份

基于JIRA提供的XML RSS提要,我试图根据日期创建一些分组,即一年中一个月内有多少个bug。 这给了我一些问题。我可以根据任务类型找到任务并对其进行分组,但在处理日期方面,我做得不够

日期字符串如下所示:
Thu,2012年10月4日10:53:38+0200
。 我的问题是,我似乎无法从这个字符串中提取月份和年份

该脚本将在JIRA/Confluence下运行,因此我怀疑exslt中的date paser能否在该平台上运行


我不需要时间,这样可以删除。我需要的是能够从这个文本字符串中提取月份+年份,以便我按这些(2012年2月)进行分组。

这是一个相当难看的问题,但仍然是一个分组问题。xslt-1.0的“正常”解决方案是明钦族分组(例如look to)

使用此键:

<xsl:key name="kMonthYear" match="created"  use="concat( 
                        substring-before(
                            substring-after( substring-after( substring-after(., ' '), ' '),' ')
                            , ' '),
                         '-', 
                         substring-before(
                            substring-after( substring-after(., ' '), ' ')
                            , ' ')
                        )" />

循环组:

<xsl:for-each select="//created[
         generate-id() = generate-id(key('kMonthYear', concat( 
                    substring-before(
                        substring-after( substring-after( substring-after(., ' '), ' '),' ')
                        , ' '), 
                     '-', 
                     substring-before(
                        substring-after( substring-after(., ' '), ' ')
                        , ' ')
                    ))[1])
          ]" >

循环组成员

        <xsl:for-each select="key('kMonthYear', concat( 
                    substring-before(
                        substring-after( substring-after( substring-after(., ' '), ' '),' ')
                        , ' '), 
                     '-', 
                     substring-before(
                        substring-after( substring-after(., ' '), ' ')
                        , ' ')
                    ))" >


我不知道如何在没有任何扩展或使用xslt-2.0的情况下按月份排序,但这不是要求的

分组应该是可能的,在调用后和调用前使用一些子串的concat,以获得2012年10月的结果。但是您的问题可能是排序。“日期字符串看起来像这样
Thu,2012年10月4日10:53:38+0200
”-这就是问题所在。为什么人们以神圣的名义使用这种完全脑死亡的日期格式?(咆哮,对不起)呵呵,是的,不是那么漂亮。我要试一试。谢谢