Xslt 代码获取过去几分钟的信息

发布于 2024-12-02 07:55:49 字数 207 浏览 1 评论 0原文

我从 SQL 获取 xml。该 xml 有一个包含日期时间信息的节点。 xml 正在使用 xslt 进行转换。我需要计算 xslt 中过去的分钟数。

例如,在 xml 中我有以下节点:

2011-08-28T22:11:52.383-07:00

我需要以当前时间为参考并计算从 xml 节点中的日期过去了多少分钟。感谢您的帮助。

谢谢

I get an xml from SQL. The xml has a node that contains date time information. The xml is getting transformed using xslt. I need to calculate the minutes past in the xslt.

For example, in the xml i have the below node:

2011-08-28T22:11:52.383-07:00

I need to take current time as reference and caculate how many minutes passed by from the date that is there in the xml node. Appreciate your help.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一梦等七年七年为一梦 2024-12-09 07:55:50

此转换

<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:template match="/">
   Current time: <xsl:sequence select="current-dateTime()"/>

   Elapsed minutes since: <xsl:sequence select="string(/)"/>:

   <xsl:sequence select=
   "(current-dateTime() - xs:dateTime(/) )
    div
     xs:dayTimeDuration('PT1M')
     "/>

 </xsl:template>
</xsl:stylesheet>

应用于此 XML 文档时

<t>2011-08-28T22:11:52.383-07:00</t>

产生所需的正确结果

   Current time: 2011-08-29T21:28:27.153-07:00

   Elapsed minutes since: 2011-08-28T22:11:52.383-07:00:

   1396.5795

说明:经过的分钟数计算结果为两个持续时间相除:

  1. 现在与指定日期时间之间的时差,以及
  2. 正好一分钟的 xs:dayTimeDuration 值。

This transformation:

<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:template match="/">
   Current time: <xsl:sequence select="current-dateTime()"/>

   Elapsed minutes since: <xsl:sequence select="string(/)"/>:

   <xsl:sequence select=
   "(current-dateTime() - xs:dateTime(/) )
    div
     xs:dayTimeDuration('PT1M')
     "/>

 </xsl:template>
</xsl:stylesheet>

when applied on this XML document:

<t>2011-08-28T22:11:52.383-07:00</t>

produces the wanted, correct result:

   Current time: 2011-08-29T21:28:27.153-07:00

   Elapsed minutes since: 2011-08-28T22:11:52.383-07:00:

   1396.5795

Explanation: The elapsed minutes are calculated as the result of division of two durations:

  1. The time difference between now and the specified date-time, and
  2. The xs:dayTimeDuration value of exactly one minute.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文