xquery 1.0上的日期操作

时间:2012-07-12 16:33:27

标签: date datetime xquery

我这里有一个旧版xquery,用于从后端服务器获取数据。我如何获得当前日期和即将到来的星期日。它看起来我看到的所有样本都是针对最新版本的,我只是无法用它来解决我的问题。

1 个答案:

答案 0 :(得分:0)

FunctX XQuery function library列出了很多日期/时间函数,并添加了一些其他有用的函数。它们都适用于XQuery 1.0,但可用的功能取决于您的实现。如果您的实现支持完整的XQuery 1.0,则以下内容适用于您。

查看fn:current-date

要获取下一个星期日的日期,使用functx:functx:day-of-week将会有很大帮助。您所要做的就是将星期几添加到日期(以及一些转换)。

declare namespace functx = "http://www.functx.com"; 
declare function functx:day-of-week 
  ( $date as xs:anyAtomicType? )  as xs:integer? {

  if (empty($date))
  then ()
  else xs:integer((xs:date($date) - xs:date('1901-01-06'))
          div xs:dayTimeDuration('P1D')) mod 7
 } ;


let $today := fn:current-date()
return
    $today + xs:dayTimeDuration(concat('P', functx:day-of-week($today), 'D'))