Xslt或Xquery测试时差小于小时
Xslt or Xquery to test the time difference less than hours
我是 xquery 和 xslt 的新手。所以我能够通过使用 fn:current-datetime- xs:datetime()
获得这种格式的变量的时差。
输出是 P11DT2H2M20.404S
但现在我的问题是:是否有任何函数可以计算营业时间少于 24 小时,或者我如何才能找出它少于 24 小时?
我可以在T之后使用子串,然后与24小时比较,但想知道是否有更好的方法。
您可以将一个持续时间除以另一个,例如xs:dayTimeDuration('P11DT2H2M20.404S') div xs:dayTimeDuration('PT24H')
除以 24 小时,如果结果小于 1,则说明(原始)持续时间小于 24 小时。
你可以简单地做
`if ($myDuration lt xs:dayTimeDuration('PT24H')) ...`
这似乎比 Martin 的解决方案更直接。
我是 xquery 和 xslt 的新手。所以我能够通过使用 fn:current-datetime- xs:datetime()
获得这种格式的变量的时差。
输出是 P11DT2H2M20.404S
但现在我的问题是:是否有任何函数可以计算营业时间少于 24 小时,或者我如何才能找出它少于 24 小时?
我可以在T之后使用子串,然后与24小时比较,但想知道是否有更好的方法。
您可以将一个持续时间除以另一个,例如xs:dayTimeDuration('P11DT2H2M20.404S') div xs:dayTimeDuration('PT24H')
除以 24 小时,如果结果小于 1,则说明(原始)持续时间小于 24 小时。
你可以简单地做
`if ($myDuration lt xs:dayTimeDuration('PT24H')) ...`
这似乎比 Martin 的解决方案更直接。