我想创建一个xquery函数,它以下列格式获取日期列表:MM / dd / yyyy HH:mm:ss并返回min。 我创建了以下内容但它仅在日期为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
答案 0 :(得分:2)
使用强>:
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>