Chapter 20. Working with Dates, Times, and Durations

XQuery provides advanced capabilities for querying, creating, and manipulating date-related values. There are twelve date-related types built into XQuery. They fall into three categories:

  • The date and time types, which represent a point in time—for example, a specific date or time

  • The duration types, which represent periods of time, such as a number of years or minutes

  • The date component types, which represent parts of dates, such as the year 2015, the month of May, or the 10th day of each month

This chapter explains the date-related types used in XQuery and the functions and operators that act on them.

The Date and Time Types

Four types represent specific dates and/or times: xs:date, xs:time, xs:dateTime, and xs:dateTimeStamp. These XML Schema built-in types are based on the ISO 8601 standard. They are summarized in Table 20-1.

Table 20-1. Summary of date and time types
Type nameDescriptionFormat (without time zone)Examples
xs:date Date YYYY-MM-DD 2015-05-03
xs:time Time hh:mm:ss.sss 10:32:15
xs:dateTime Date and time with optional time zone YYYY-MM-DDThh:mm:ss.sss 2015-05-03T10:32:15, 2015-05-03T10:32:15.55
xs:dateTimeStamp Date and time with mandatory time zone YYYY-MM-DDThh:mm:ss.sss 2015-05-03T10:32:15-05:00, 2015-05-03T10:32:15.55Z

The xs:date type has year, month, and day components, while xs:time has hour, minute, and seconds components. The format of the xs:dateTime and xs:dateTimeStamp types is a concatenation of the

Get XQuery, 2nd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.