XQuery
Priscilla Walmsley (pwalmsley@datypic.com)
ISBN: 1491915103
2nd edition, , O'Reilly Media, Inc.
Chapter 20: Working with Dates, Times, and Durations
Please note that the book contains many inline examples and informal tables that are not provided here.
Example | Return value |
---|---|
xs:time("17:15:20-00:00") = xs:time("12:15:20-05:00")
|
true
|
xs:time("12:15:20-05:00") > xs:time("12:15:20-04:00")
|
true
|
xs:time("12:15:20-05:00") = xs:time("12:15:20")
|
true if the implicit time zone is -05:00
|
xs:dateTime("2015-05-03T05:00:00") = xs:dateTime("2015-05-03T07:00:00")
|
false
|
xs:date("2015-12-25") < xs:date("2014-01-06")
|
false
|
xs:time("12:15:20") > xs:time("12:15:30")
|
false
|
xs:date("2015-05-06") > xs:dateTime("2015-05-03T13:20:00")
| Error XPTY0004
|
Example | Return value |
---|---|
xs:yearMonthDuration("P1Y") = xs:yearMonthDuration("P1Y")
|
true
|
xs:yearMonthDuration("P1Y") = xs:yearMonthDuration("P12M")
|
true
|
xs:yearMonthDuration("P1Y2M") > xs:yearMonthDuration("P1Y3M")
|
false
|
xs:dayTimeDuration("P1DT12H") = xs:dayTimeDuration("PT36H")
|
true
|
xs:dayTimeDuration("P1DT12H") < xs:dayTimeDuration("PT37H")
|
true
|
xs:yearMonthDuration("P1Y") < xs:dayTimeDuration("P366D")
| Error XPTY0004
|
xs:duration("P11M") < xs:duration("P12M")
| Error XPTY0004
|
Example | Return value |
---|---|
month-from-date(xs:date("2015-05-31"))
|
5
|
hours-from-time(xs:time("09:54:00"))
|
9
|
seconds-from-duration(xs:duration("P5DT1H13.6S"))
|
13.6
|
seconds-from-duration(xs:duration("-P5DT1H13.6S"))
|
-13.6
|
years-from-duration (xs:duration("P5Y3M"))
|
5
|
years-from-duration (xs:duration("P1Y15M"))
|
2
|
Example | Return value |
---|---|
format-date(xs:date("2015-04-06"), "[M01]/[D01]/[Y0001]")
|
04/06/2015
|
format-date(xs:date("2015-04-06"), "[M]-[D]-[Y]")
|
4-6-2015
|
format-date(xs:date("2015-04-06"), "[MNn] [D], [Y]", "en", (), () )
|
April 6, 2015
|
format-date(xs:date("2015-04-06"), "[MNn] [D1o], [Y]", "en", (), () )
|
April 6th, 2015
|
format-dateTime(xs:dateTime("2015-04-06T17:31:03"), "[M01]/[D01]/[Y0001] at [H01]:[m01]:[s01]")
|
04/06/2015 at 17:31:03
|
format-dateTime(xs:dateTime("2015-04-06T17:31:03"), "[h].[m01][Pn] on [FNn], [MNn] [D1o]")
|
5.31p.m. on Monday, April 6th
|
format-dateTime(xs:dateTime("2015-04-06T17:31:03"), "[MNn] [D], [Y]", "en", (), () )
|
April 6, 2015
|
format-time(xs:time("17:31:03"), "[h]:[m01] [PN]")
|
5:31 P.M.
|
format-time(xs:time("17:31:03"), "[H]:[m01]")
|
17:31
|
format-time(xs:time("17:31:03-05:00"), "[h]:[m01]:[s01] [PN] [z]")
|
5:31:03 P.M. GMT-05:00
|
format-time(xs:time("17:31:03-05:00"), "[h]:[m01]:[s01] [PN] [ZN,*-3]", "en", (), () )
|
5:31:03 P.M. EST
|
Example | Return value |
---|---|
xs:dateTime("2015-04-11T09:23:30.5") - xs:dateTime("2015-04-04T02:15:10.2")
|
P7DT7H8M20.3S
|
xs:dateTime("2015-05-03T12:15:30.5") - xs:dateTime("2015-05-03T12:15:10.2")
|
PT20.3S
|
xs:date("2015-05-06") - xs:date("2015-05-03")
|
P3D
|
xs:date("2015-04-02") - xs:date("2014-03-11")
|
P387D
|
xs:date("2015-05-03") - xs:date("2015-05-03")
|
PT0S
|
xs:date("2015-05-03") - xs:date("2015-05-06")
|
-P3D
|
xs:time("13:12:02.001") - xs:time("13:12:00")
|
PT2.001S
|
xs:time("13:12:00-03:00") - xs:time("13:12:00-05:00")
|
-PT2H
|
xs:time("08:00:00-05:00") - xs:time("09:00:00-02:00")
|
PT2H
|
xs:time("13:12:00-03:00") - xs:time("13:12:00")
|
-PT2H (if the implicit time zone is -05:00 ) |
Example | Return value |
---|---|
xs:dateTime("2015-05-03T09:12:35") + xs:yearMonthDuration("P1Y2M")
|
2016-07-03T09:12:35
|
xs:dateTime("2015-04-29T09:12:35") + xs:dayTimeDuration("P5DT2H12M")
|
2015-05-04T11:24:35
|
xs:dateTime("2015-04-29T09:12:35") + xs:dayTimeDuration("P5DT17H12M")
|
2015-05-05T02:24:35
|
xs:dateTime("2015-04-29T09:12:35") - xs:yearMonthDuration("P1Y")
|
2014-04-29T09:12:35
|
xs:yearMonthDuration("P1Y5M") + xs:date("2015-10-02")
|
2017-03-02
|
xs:date("2015-10-02") - xs:dayTimeDuration("PT48H")
|
2015-09-30
|
xs:date("2015-03-31") - xs:yearMonthDuration("P1M")
|
2015-02-28
|
xs:time("09:12:35") + xs:dayTimeDuration("P5DT2H12M")
|
11:24:35
|
xs:time("09:12:35") + xs:yearMonthDuration("P1Y2M")
| Error XPTY0004
|
Example | Return value |
---|---|
xs:yearMonthDuration("P3Y10M") + xs:yearMonthDuration("P5Y5M")
|
P9Y3M
|
xs:dayTimeDuration("P2DT14H55.3S") - xs:dayTimeDuration("P1DT12H51.2S")
|
P1DT2H4.1S
|
xs:dayTimeDuration("P1DT12H51.2S") - xs:dayTimeDuration("P2DT14H55.3S")
|
-P1DT2H4.1S
|
xs:yearMonthDuration("P3Y10M") + xs:dayTimeDuration("P1DT12H")
| Error XPTY0004
|
Example | Return value | Return type |
---|---|---|
xs:yearMonthDuration("P1Y6M") * 3.5
|
P5Y3M
|
xs:yearMonthDuration
|
3 * xs:dayTimeDuration("PT50M")
|
PT2H30M
|
xs:dayTimeDuration
|
xs:yearMonthDuration("P2Y6M") div 2
|
P1Y3M
|
xs:yearMonthDuration
|
10 * xs:yearMonthDuration("P1M")
|
P10M
|
xs:yearMonthDuration
|
Example | Return value |
---|---|
xs:yearMonthDuration("P1Y") div xs:yearMonthDuration("P6M")
|
2
|
xs:dayTimeDuration("PT25M") div xs:dayTimeDuration("PT50M")
|
0.5
|
xs:dayTimeDuration("PT2H") div xs:dayTimeDuration("PT1M")
|
120
|