排除日期晚于今天的项目

2024-02-19

我有一个关于 XSLT 的问题。

在一个网站上,我有一个简单的日历,显示未来将要发生的事件。

但当一个事件完成后,它应该从我的列表中删除。我所说的“完成”是指活动的日期已经过了今天。

每个事件都附有日期。

看下面的代码:

<xsl:for-each select="$currentPage//node[@template='1238']">

    <xsl:sort data-type="text" select="./data[@alias='dato']" order="ascending"/>

    <div class="aktivitet_forside">
            ...MY EVENT CONTENT...                    
    </div>

</xsl:for-each>

上面的代码将向我显示 template='1238' 的所有事件,这也是正确的,因为这是我的事件的模板。

但正如我之前提到的,每个事件都有一个包含日期的字段。该字段称为“dato”。这也是我对事件进行排序的编号,因此日期最接近今天的事件将显示在列表顶部。

“dato”字段的格式为:2009-08-30T08:59:00

如何自动删除“日期”字段的值超过今天日期的事件?

因此,如果今天的日期是:2009 年 9 月 3 日,则日期为 2009 年 8 月 30 日的事件不应出现在列表中。


假设您使用的是 XSLT 1.0,如果您的 XSLT 处理器支持 EXSLT 扩展,您可以使用 date:difference 函数。还有一个可用的普通 XSLT 模板,您可以根据自己的情况进行调整,以防您本身没有可用的 EXSLT。

http://www.exslt.org/date/functions/difference/index.html http://www.exslt.org/date/functions/difference/index.html

EDIT:

可能还有另一个更简单的版本,您可以将日期时间字符串转换为格式为 YYYYMMDDHHMMSS 的数字。这将自动按数字升序排序(未来的日期/时间将比以前的日期有更大的数字),然后您可以以相同的方式获取当天的日期时间字符串,并进行常规数字差异以查看该天是否在当前日期之后或之前。

<xsl:variable name="newFormat" select="translate('2009-08-30T08:59:00', '-T:', '')"/>

Gives 20090830085900

在您的 XPath 中,您可以执行此操作,假设 $currDateTime 设置为正确的翻译值并且<data>节点有要检查的日期,您可以使用下面的..

<xsl:for-each select="$currentPage//node[@template='1238'][data[@alias='dato' and ((number(translate(. ,'-T:', '')) - number($now)) &gt;=0)]]">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

排除日期晚于今天的项目 的相关文章

随机推荐

  • 如何在运行总计矩阵 Power BI 中填写空白

    我正在 Power BI 中研究损失三角 其中AccidentYear是行和DevYear是列 表中的值为Running Total通过测量创建 Running Total Loss CALCULATE SUM fact Losses Pa
  • 未找到 jmap 命令

    我正在尝试使用jmap对我的命令CentOS服务器 但它一直告诉我 即使我安装了 JDK 也找不到该命令 这是命令的输出java version java version 1 7 0 25 OpenJDK Runtime Environme
  • CGAL Visibility 计算错误的可见性多边形(简单多边形可见性算法)

    我必须计算给定多边形的某些顶点的可见性多边形 我正在使用 CGAL 可见性计算库 但是对于这个例子是多边形 https www ic unicamp br cid Problem instances Art Gallery AGPVG mi
  • MongoDB Java 客户端在“replaceOne”上将“_id”存储为 null

    我们已经升级 从 2 11 1 到
  • Visual Studio - 如何在发布模式下删除引用

    我正在开发一个用于其他应用程序的库 并且由于 NLog 该库具有大量调试和日志记录语句 当我切换到发布模式时是否可以排除对 NLog dll 的引用 Cheers 您可以手动编辑 csproj 文件 并执行如下操作
  • Cassandra 错误 - 无法限制聚类列(前一列受非 EQ 关系限制)

    我们使用 Cassandra 作为车队管理解决方案的数据历史记录 我们在 Cassandra 中有一张表 用于存储车辆行程的详细信息 表结构如下 CREATE TABLE journeydetails bucketid text vehic
  • 使用 Javascript 隐藏 iPhone 的键盘

    有谁知道如何hide用户触摸按钮 开始 而不是 完成 后 iPhone 在 Safari 中的键盘 我需要 Javascript 和 HTML5 的解决方案 使用 jQuery 您应该取消单击按钮的输入焦点 button id clicke
  • Python 3.9 和 3.10 之间 level=0 的 zlib 大小差异

    在这段代码中 使用 zlib 对一些数据进行编码 但 level 0 因此它实际上并未被压缩 import zlib print zlib ZLIB VERSION zlib ZLIB VERSION total 0 print Total
  • 使用 Mockito 模拟具有泛型参数的类

    是否有一种干净的方法来模拟带有泛型参数的类 假设我必须模拟一堂课Foo
  • 如何在 TypeScript 中删除数组项?

    我有一个在 TypeScript 中创建的数组 它有一个用作键的属性 如果我有该密钥 我如何从中删除项目 与 JavaScript 中的方式相同 delete myArray key 请注意 这将元素设置为undefined 更好地使用Ar
  • 如何正确使用drawMyLocation

    我试图用 android 中的默认蓝点向用户显示当前位置 在我的地图页面中 我还有一个显示不同兴趣点的布局 我无法弄清楚要为某些变量添加什么 并且想知道是否有人可以帮助我 这就是我到目前为止用来显示我的位置的方法 Location loca
  • 从完成处理程序返回值 - Swift

    我在实用程序类中使用 loadImage 方法 并且在通过闭包返回图像时遇到一些问题 基本上因为我的代码可能返回图像或错误 所以在调用方法时将其分配给图像属性将不起作用 我在类的方法声明中使用的方法是否错误 或者我应该以不同的方式调用该方法
  • 我的 ffmpeg 输出总是在最后添加额外的 30 秒静音

    这是我用来将 1 个音频和 1 个图像合并为 1 个视频的代码 参数 由于某种原因 无论来源如何 它都会在输出视频的末尾添加 30 秒的静音 我在 Win10 x64 上运行它 安装了最新的 ffmpeg 我检查了代码 但无法确定它在哪里造
  • 自动在句点和逗号后添加空格,同时避免数字

    这是当前的正则表达式 当人们写下以下内容时 我用它来清理句子 你好 我是安德烈斯 对吗 它将自动转换为 你好 我是安德烈斯 对吧 当字符串中有数字时就会出现问题 例子 我有 40 381 32 美元 将转换为 我有 40 381 32 美元
  • 无法找到资源

    我不确切知道这是否是一个错误 但我一直收到运行时 IOException 错误 指出无法找到资源 我正在画布背景中的应用程序 c WPF 中加载一些图像 具体取决于数据库状态 问题是 我无法加载最后一个 按字母顺序排序 文件 例如 我的文件
  • iOS - 缩放和裁剪 CMSampleBufferRef/CVImageBufferRef

    我正在使用 AVFoundation 并从中获取示例缓冲区AVCaptureVideoDataOutput 我可以使用以下方法将其直接写入 videoWriter void writeBufferFrame CMSampleBufferRe
  • Java:获取打印机状态(缺纸/缺纸)

    我是这样打印的 FileWriter imp new FileWriter COM2 while linea br readLine null imp write linea imp write 0x0A 现在我使用端口 COM2 我有一台
  • Unidata 数据库导出 - 如何使用 TO DELIM 添加标题

    在 Unidata 中 将查询转储到分隔文件时 例如 列出 MYFILE 1000 ATB1 ATB2 ATB3 至 DELIM tmp extract txt 是否有任何 UDT OPTIONS 控制是否写入标题行 当前唯一的解决方法涉及
  • 从子线程停止主线程

    我正在编写一个python程序 在主函数中我正在启动一个连续运行的线程 启动线程后 主函数进入 while 循环 连续获取用户输入 如果子线程中出现异常 我也想结束主函数 最好的方法是什么 提前致谢 让线程 控制 其父级并不是一个好的做法
  • 排除日期晚于今天的项目

    我有一个关于 XSLT 的问题 在一个网站上 我有一个简单的日历 显示未来将要发生的事件 但当一个事件完成后 它应该从我的列表中删除 我所说的 完成 是指活动的日期已经过了今天 每个事件都附有日期 看下面的代码