我似乎无法解决这个问题,将不胜感激任何帮助: 我有一个日期时间节点列表,按天(针对每个组)分组,
<xsl:for-each-group select="response/result/doc"
group-by="functx:day-of-week(xs:dateTime(./date[@name='ds_startshow']))">
这很好用,日期时间按星期几分组。问题是我需要包括一些从下 到当天的日期时间节点。例如:我需要将星期六0:15包括到星期五“组”(凌晨属于前一天)。因此,一天会延伸到第二天早上的几个小时。基本上,新的 一天从 2:00 而不是 0:00 开始。 我将如何使用 XSLT(2) 完成这样的分组。大概我需要写一个函数来解决这个问题?我需要重复这些天吗?不确定在这种特殊情况下的最佳做法。
最佳答案
您要做的是用实际时间减去两个小时,从而在 02:00 创建一个虚拟的日期边界,然后以此为依据进行分组。这是未经测试的,但您可以尝试:
$x - xs:dayTimeDuration("PT2H")
其中 $x 是实际时间。结果是实际时间减去 2 小时,然后您可以使用它来分组。
你可能会看看 this site ,这是我通过谷歌搜索“xslt date arithmetic”找到的,也是我找到 xs:dayTimeDuration()
关于xml - XSLT 中的日期时间分组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210812/