1. analizzare la stringa Data
analizzare la stringa data. Ho fornito una piccola funzione che divide la parola che indica la data e la analizza. Ho aggiunto alcuni nomi più convenienti per le date, ma puoi aggiungerne altri se necessario, nota che converto in minuscolo! Utilizza XQuery date and time functions per calcolare la data di abbinamento.
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. Formato data
Ora utilizzare la funzione format-date(...)
XQuery 3.0 (spero che il vostro motore di XQuery supporta, BaseX che ho usato per questo esempio non) per formattare la stringa della data, come ne avete bisogno :
format-date(local:from-relative-date("Yesterday, 22:13"), "[Y]-[M00]-[D00]")
in caso contrario, si dovrà utilizzare year-from-date(...)
e funzioni secondo per month e day, utilizzare alcuni formattazione dei numeri e concatenare te stesso.
fonte
2012-05-30 11:55:05
+1, Aww Sono cose come queste. Abbiamo davvero bisogno di convincere il posto in cui lavoro per aggiornare la nostra esistenza! – matchew