Функция ms:format-date
Преобразует стандартные форматы дат XSD в строки для вывода.
string ms:format-date(string datetime, string format [,locale])
Параметры
string datetime
Содержит данные о дате в формате XSD. Для нестроковых аргументов функция ведет себя так, будто была применена функция string(). Если аргумент не является датой, то возвращается пустая строка. Если аргумент является допустимой датой в формате XSD и некоторые поля пусты, то функция пытается заполнить отсутствующие поля.string format
Содержит строку форматирования, соответствующую функциям Win32 API GetDateFormat.locale [дополнительно]
Определяет языковые стандарты форматирования данных (например, "RU_ru").
Заметки
Далее перечислены символы форматирования для функции ms:format-date().
Символы |
Описание |
---|---|
M |
Месяцы (в формате 1–12) |
ММ |
Месяцы (в формате 01-12) |
МММ: |
Месяцы (в формате янв-дек) |
ММММ: |
Месяцы (названия полностью) |
d |
Дни (в формате 1-31) |
dd |
Дни (в формате 01-31) |
ddd |
Дни недели (в формате пон-вс) |
dddd |
Дни недели (названия полностью) |
y |
Годы как 0-99 |
yy |
Годы в формате 00-99 |
yyyy |
Годы как 1900-9999 |
gg |
Период/эра (если эта часть даты отсутствует, она пропускается) |
Следует отметить, что этот формат не содержит сведений часовых поясах. Кроме того, он не позволяет включать в форматируемые строки произвольный текст, не указываются века, не допускаются суффиксы (1-е мая, 2-е апреля).
Пример
XML-документ (Sample.xml)
<?xml version='1.0'?>
<XMLSamples xml:space="preserve"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<FileDetails>
<Author>Robert Brown</Author>
<Date dt:dt="datetime">2000-02-16T15:56:00</Date>
</FileDetails>
</XMLSamples>
Таблица стилей XSLT (Sample.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<xsl:template match="/">
<HTML>
<HEAD>
</HEAD>
<BODY>
<xsl:for-each select="XMLSamples/FileDetails/Date">
<DIV>
Date Unedited:
<xsl:value-of select="."/>
</DIV>
<DIV>
Date Edited:
<xsl:value-of select="ms:format-date(., 'MMM dd, yyyy')"/>
</DIV>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>
Вывод
Далее приведена выходная HTML-страница.
Date Unedited: 2000-02-16T15:56:00
Date Edited: Feb 16, 2000