Name

[2.0] year-from-dateTime()

Given an xs:dateTime value, returns its year value.

Syntax

xs:integer? year-from-dateTime(xs:dateTime?)

Inputs

An xs:dateTime value.

Output

An xs:integer representing the year component of the given xs:dateTime value. If the argument is the empty sequence, this function returns the empty sequence.

Defined in

XQuery 1.0 and XPath 2.0 Functions and Operators section 10.5, “Component Extraction Functions on Durations, Dates and Times.”

Example

This stylesheet demonstrates the year-from-dateTime() function:

<?xml version="1.0"?>
<!-- year-from-datetime.xsl -->
<xsl:stylesheet version="2.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xsl:output method="text"/>

  <xsl:template match="/">
    <xsl:text>&#xA;Extracting the year from an xs:dateTime:</xsl:text>
    <xsl:variable name="currentDateTime" as="xs:dateTime" 
      select="current-dateTime()"/>
    <xsl:text>&#xA;&#xA;The current date and time is: </xsl:text>
    <xsl:value-of select="$currentDateTime"/>

    <xsl:text>&#xA;&#xA;  The current year: </xsl:text>
    <xsl:value-of select="year-from-dateTime($currentDateTime)"/>
    <xsl:text>&#xA;    In words: </xsl:text>
    <xsl:value-of select="format-dateTime($currentDateTime, '[YWw]')"/>
    <xsl:text>&#xA;    In German: </xsl:text>
    <xsl:value-of 
      select="format-dateTime($currentDateTime, '[YWw]', 'de', (), ())"/>
  </xsl:template>

</xsl:stylesheet>

The stylesheet creates these results:

The current date and time is: 2006-11-16T05:18:20.187-05:00 The current year: ...

Get XSLT, 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.