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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.