1. Parsing a date string
. , , , . , , , , ! XQuery .
declare function local:from-relative-date($string as xs:string) as xs:date {
switch (lower-case(substring-before($string, ",")))
case "today" return current-date()
case "yesterday" return current-date() - xs:dayTimeDuration('P1D')
case "day before yesterday" return current-date() - 2 * xs:dayTimeDuration('P1D')
case "tomorrow" return current-date() + xs:dayTimeDuration('P1D')
case "day after tomorrow" return current-date() + 2 * xs:dayTimeDuration('P1D')
default return error(xs:QName("XPTY0004"), "Unknown Date")
};
2.
XQuery 3.0 format-date(...) (, XQuery , BaseX, ), , :
format-date(local:from-relative-date("Yesterday, 22:13"), "[Y]-[M00]-[D00]")
, year-from-date(...) month day, .
source
share