2016-09-15 176 views
0

注:请不要标记这个作为重复的,听到我的问题了,请计算日期差异XSL

我完全是新来的,我一直在得到一个简单的时间差跑下来一个精神崩溃在过去2小时的2个日期之间,互联网上的每个答案似乎都不适用于我。

是否有人可以提供准确的东西,我必须把XML文件和XSL文件中获得简单的日期差异可能吗?

每一个答案,在那里只是抛出代码的一个片段,但与正在新我不知道在哪里以及如何实现它,感谢理解我的问题:)希望你能帮助我

即使你标记这是重复的,至少把它放在评论究竟是什么我必须把XML文件,究竟进去XSL文件

+0

我已经通过了所有这些链接,因为模糊的答案没有工作 http://stackoverflow.com/questions/9169650/how-to-calculate-date-difference-with-xpath-只有 http://stackoverflow.com/questions/16521746/how-to-get-date-difference-in-xslt http://stackoverflow.com/questions/5544762/finding-the-difference-between- 2-dates-in-xslt –

+0

是否可以使用** xslt 2 **? – uL1

+0

是的,只要有人定义如何,因为我已经尝试了很多东西,他们都没有工作 –

回答

2

最简单的XSLT 2.0 -date-比较是这样的:

XML:

<dates> 
    <date id="1">2016-09-15</date> 
    <date id="2">2016-09-10</date> 
</dates> 

XSLT 2.0:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0"> 

    <xsl:template match="dates"> 
     <xsl:element name="difference"> 
      <xsl:value-of select="days-from-duration(xs:date(date[@id=1]) - xs:date(date[@id=2]))"/> 
     </xsl:element> 
    </xsl:template> 

</xsl:stylesheet> 

如果这不起作用,你的问题是其他的地方位于比样式表。然后,您必须声明您的环境,如您正在使用的xslt-processor,软件,编程语言。

+0

不起作用,只是显示日期的数据转储 “2016-09-15 2016-09-10” –

+1

@RadioactiveCoffe,请在http://xsltransform.net/bFWR5DU上在线查看它在哪里工作计算差异。 –

+0

这很有趣,你有什么想法/解决方案,我可以如何让它在我的电脑上工作?它只是不出于某种原因 –