[2.0] Formatting Dates and Times
XSLT 2.0 adds three new formatting functions, format-date(), format-time(), and format-dateTime(). We’ll take xs:date,
xs:time, and xs:dateTime values and format them in some
useful way.
You can call each of these functions in two ways. The simplest is to pass the function a value and a formatting string. If you need more detail, the second way of calling these functions requires you to specify a language, a calendar, and a country as well. The XSLT 2.0 specification lists more than 25 different calendars used around the world, and there are hundreds of combinations of language and country codes. Look at the documentation for your XSLT processor to see which calendars, languages, and countries it supports.
Our first example is pretty simple. We’ll create a stylesheet that
uses the XPath functions current-date(), current-time(), and current-dateTime():
<?xml version="1.0" encoding="utf-8"?>
<!-- datetime1.xsl --> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="/"> <xsl:text>
Tests of date and time formatting:
</xsl:text> <xsl:text>
 The current date is </xsl:text> <xsl:value-of select="format-date(current-date(), '[M01]/[D01]/[Y0001]')"/> <xsl:text>
 The current time is </xsl:text> <xsl:value-of select="format-time(current-time(), '[H01]:[m01] [z]')"/> <xsl:text>
 It's currently </xsl:text> <xsl:value-of select="format-dateTime(current-dateTime(), '[h1]:[m01] ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access