2

MM/dd/yyyy HH:mm:ss の形式で日付のリストを取得し、分を返す xquery 関数を作成したいと思います。以下を作成しましたが、日付が 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 の日付に対して同じ機能を持たせたい

4

1 に答える 1

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>
于 2012-10-18T21:56:56.947 に答える