我想创建一个 xquery 函数,它获取以下格式的日期列表:MM/dd/yyyy HH:mm:ss 并返回最小值。 我创建了以下内容,但仅当日期采用 yyyy-MM-dd'T'HH:mm:ss 格式时才有效。
let $dates := <Dates>
<date>2012-11-11T10:10:10</date>
<date>2012-11-11T10:10:10</date>
<date>2012-11-12T10:10:10</date>
</Dates>
let $DatesStructure :=
for $date in $dates/date
order by xs:dateTime($date/text()) descending
return <date> {$date/text()} </date>
return <Dates> { $DatesStructure } </Dates>
我希望对以下格式的日期具有相同的功能 MM/dd/yyyy HH:mm:ss
最佳答案
使用:
let $dates := <Dates>
<date>11/11/2012 10:10:10</date>
<date>11/11/2012 10:10:10</date>
<date>11/12/2012 10:10:10</date>
</Dates>
let $DatesStructure :=
for $date in $dates/date
order by
xs:dateTime
(let $parts := tokenize(substring-before($date, ' '), '/'),
$y := $parts[3], $m := $parts[1], $d := $parts[2],
$t := substring-after($date, ' ')
return
concat($y,'-',$m,'-',$d, 'T', $t)
)
descending
return <date> {$date/text()} </date>
return <Dates> { $DatesStructure } </Dates>
此查询产生所需的正确结果:
<Dates>
<date>11/12/2012 10:10:10</date>
<date>11/11/2012 10:10:10</date>
<date>11/11/2012 10:10:10</date>
</Dates>
关于sorting - xquery 排序日期时间 MM/dd/yyyy HH :mm:ss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12963743/