日期减去 xslt 中的另一个日期

2024-05-10

希望有人能帮忙。我正在尝试比较 XML 文件中的 2 个日期并使用 XSLT 进行一些计算:

例如,我有 2 个 XML 日期:2011-05-23 和 2011-04-29。我想在 XSLT 中进行计算,如下所示:

('2011-05-23'-'2011-04-29')*30 = 24*30= 720

任何人都可以阐明吗?


XSLT 2.0 解决方案

<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template match="/">
<xsl:value-of select="days-from-duration(
                                         xs:date('2011-05-23')
                                         - xs:date(xs:date('2011-04-29'))
                      )*30"/>
</xsl:template>
</xsl:stylesheet>

Yields: 720

  • xs:date()函数计算日期,可用于执行日期操作
  • 从第一个日期减去第二个日期得出xdt:dayTimeDuration P24D(24天)
  • days-from-duration()从中提取天数部分xdt:dayTimeDuration (24)
  • 然后您可以使用该数字执行正常算术(例如24*30=720)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

日期减去 xslt 中的另一个日期 的相关文章

随机推荐

  • 如何在 React 中使用 Jest 模拟 window.location.href?

    我正在测试不应该在本地运行并且需要模拟的功能window location href const usePageTracking void gt const location useLocation useEffect gt if wind
  • 基于时间的算法评分

    我们希望创建一种评分算法 在更短的时间内获得更高的分数 在更长的时间内获得更少的分数 需要注意的是 没有实际范围 因此时间范围可以从 100 毫秒到长达 10 分钟或更长时间 点范围为 0 到 50 谢谢你的帮助 你可以简单地把它变成一个线
  • 创建 CloudFront Distribution 时出现 Crypp CloudFormation 失败

    我设置了一个 CloudFormation 模板来跟踪 CloudFront 分发等 设置完毕后 我创建了一个AWS CertificateManager Certificate and an AWS CloudFront Distribu
  • NSMenuItem 中的自定义 NSView 未接收鼠标事件

    我使用 popUpStatusItemMenu 从 NSStatusItem 中弹出一个 NSMenu 这些 NSMenuItems 显示了一堆不同的链接 每个链接都通过 setAction 连接到目标的 openLink 方法 这种安排长
  • Django 自定义 UserManager 中的 self.model()

    所以 我对 Django 还很陌生 尽管我的代码在遵循 Django 文档 在 Django 中自定义身份验证 之后工作 但我不明白他们的示例中的 self model 实际如何工作 它来自哪里以及它如何与 自己 这是在文档底部找到的示例
  • Rails 3 沙箱控制台

    在 Rails 2 中你可以运行 script console sandbox 这样您就可以使用生产数据而不会意外破坏任何东西 我似乎找不到 Rails 3 的等效命令 有人知道它是什么吗 很简单 输入 bundle exec rails
  • 在其他设备上无法通过IP地址访问Vue项目 vue cli 3 npm

    我有一个使用 vue cli 3 创建的项目 当我运行命令 npm runserve 时 它会给出以下成功消息 我用假 替换了我的IP地址 App running at Local http localhost 8080 Network h
  • 如何通过 SSL 从 Phoenix Web App 连接到 PostgreSQL?

    When trying to run Elixir Phoenix Web Application using PostgreSQL Database hosted 3rd party Database as a Service Azure
  • 启动时的 Android pin 活动

    我有一个应用程序 它将自身注册为默认启动器 并在启动时自动固定自身 安装应用程序时这一切都正常 它会自行固定 并且只有后退按钮可见 问题是 当设备首次启动时 它无法正确固定 我多次看到一系列 屏幕固定 和 屏幕取消固定 的 toast 主页
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • gdb 错误 - 文件不是可执行格式:无法识别文件格式

    我正在尝试使用 gdb 调试某个名为 xdf 的程序 但是当我运行 gdb xdf 时 出现以下错误 home nealtitusthomas X ray astronomy heasoft 6 24 x86 64 pc linux gnu
  • WCF Rest 服务还是 ASP.NET MVC 控制器/操作?

    如果有人能提供一些关于哪种更有益的见解 我将不胜感激 WCF 中的 RESTful 服务可以提供与 ASP Net MVC 控制器相同的功能 即可以使用控制器 操作适当地形成 URL 使用其中一种比另一种有真正的好处吗 WCF休息服务将提供
  • HTML Agility 包删除了中断标记 close

    我正在使用 HTML 敏捷包创建 HTML 文档 我加载一个模板文件 然后将内容附加到其中 所有这些都有效 但是当我查看输出文件时 它已从我的文件中删除了结束标记 br 标签看起来像这样 br 是什么原因造成的 Dim doc As New
  • 如何检查文件是否存在,如果不存在则终止构建?

    如果文件不存在 如何停止构建并通知用户 我知道如果文件存在 我可以使用可用任务来设置属性 但我不确定如何停止构建并回显某些内容 如果可能的话 我想坚持核心任务 您可以使用任务失败 http ant apache org manual Tas
  • 在 Objective-C iPad 开发中发布

    我正在尝试发出 POST 请求 但我似乎无法弄清楚出了什么问题 我从服务器收到响应 但我的电子邮件 密码对似乎没有正确发送 读取 由服务器 它告诉我不存在这样的帐户 这是我的代码 它包含在一个函数中 当用户按下我创建的 登录 按钮时调用该函
  • 如何判断 OpenMP 是否正常工作?

    我正在尝试以并行模式运行 LIBSVM 但我的问题一般是在 OpenMP 中 根据LIBSVM 常见问题解答 http www csie ntu edu tw cjlin libsvm faq html f432 我已使用 pragma 调
  • \r 和 \n 在 PHP(和其他语言)中意味着什么?

    这些叫什么 r n 有解释它们的教程吗 它们分别是 回车 和 换行 通常在 Windows 上 您需要将两者一起表示行终止符 r n 而在大多数 全部 Unix 系统上 n 就足够了 See the 维基百科换行条目 http en wik
  • MVC3 中的 ModelState.IsValid 与 IValidatableObject

    所以根据Gu http weblogs asp net scottgu archive 2010 07 27 introducing asp net mvc 3 preview 1 aspx IValidatableObject Valid
  • 如何创建新的私人文本频道并向其中添加 2 个人?

    我正在创建一个不和谐的机器人 用户将向机器人发送消息并 机器人将创建一个新的私人文本通道 最好与机器人位于同一服务器上 机器人只会将消息传递用户和管理员添加到频道 我已经能够使用创建一个新频道这个问题 https stackoverflow
  • 日期减去 xslt 中的另一个日期

    希望有人能帮忙 我正在尝试比较 XML 文件中的 2 个日期并使用 XSLT 进行一些计算 例如 我有 2 个 XML 日期 2011 05 23 和 2011 04 29 我想在 XSLT 中进行计算 如下所示 2011 05 23 20