使用XSLT将字符串表示形式转换为日期
基于JIRA提供的XML RSS提要,我试图根据日期创建一些分组,即一年中一个月内有多少个bug。 这给了我一些问题。我可以根据任务类型找到任务并对其进行分组,但在处理日期方面,我做得不够 日期字符串如下所示:使用XSLT将字符串表示形式转换为日期,xslt,jira,Xslt,Jira,基于JIRA提供的XML RSS提要,我试图根据日期创建一些分组,即一年中一个月内有多少个bug。 这给了我一些问题。我可以根据任务类型找到任务并对其进行分组,但在处理日期方面,我做得不够 日期字符串如下所示:Thu,2012年10月4日10:53:38+0200。 我的问题是,我似乎无法从这个字符串中提取月份和年份 该脚本将在JIRA/Confluence下运行,因此我怀疑exslt中的date paser能否在该平台上运行 我不需要时间,这样可以删除。我需要的是能够从这个文本字符串中提取月份
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
”-这就是问题所在。为什么人们以神圣的名义使用这种完全脑死亡的日期格式?(咆哮,对不起)呵呵,是的,不是那么漂亮。我要试一试。谢谢