如何在 current-dateTime() 中为 schematron/xslt 中的日期函数添加 +8 小时。

How to add +8 hrs in current-dateTime() for date functions in schematron/xslt.

我正在研究 schematron 验证,在该验证中我有一个规则,其中日期不应大于当前日期。规则很好,但我的问题是我根据 PST 验证日期并且客户端具有日期的 GMT 时间戳,有 8 小时的差异所以请帮助如何在 schematron 的验证规则中添加 +8 小时,如果有一些机制可以比较这些时间戳然后请在评论中回答。感谢 adv.

中的所有人

谢谢, 马诺杰

XPath 日期函数会考虑时区(如果已知)。所以这取决于您如何将日期写入文件。

如果你写成这样的格式:

<date>2016-06-23T11:30:34.000-10:00</date>

应遵守时区。

如果这不可能,您可以手动添加 8 小时:

current-dateTime() + xs:dayTimeDuration('PT08H')

[编辑:]参见 xs:dayTimeDuration

的声明

在这种情况下,您可能需要一个新的 xs 前缀的命名空间声明:

<sch:ns uri="http://www.w3.org/2001/XMLSchema" prefix="xs"/>