当我使用XML序列化程序序列化时DateTime,它以以下格式编写:
DateTime
<Date>2007-11-14T12:01:00</Date>
当通过XSLT样式表传递它以输出HTML时,如何格式化?在大多数情况下,我只需要日期,而当我需要时间时,我当然不希望其中包含“有趣的T”。
以下是几个您可以使用的1.0模板:
<xsl:template name="formatDate"> <xsl:param name="dateTime" /> <xsl:variable name="date" select="substring-before($dateTime, 'T')" /> <xsl:variable name="year" select="substring-before($date, '-')" /> <xsl:variable name="month" select="substring-before(substring-after($date, '-'), '-')" /> <xsl:variable name="day" select="substring-after(substring-after($date, '-'), '-')" /> <xsl:value-of select="concat($day, ' ', $month, ' ', $year)" /> </xsl:template> <xsl:template name="formatTime"> <xsl:param name="dateTime" /> <xsl:value-of select="substring-after($dateTime, 'T')" /> </xsl:template>
致电给他们:-
<xsl:call-template name="formatDate"> <xsl:with-param name="dateTime" select="xpath" /> </xsl:call-template>
和
<xsl:call-template name="formatTime"> <xsl:with-param name="dateTime" select="xpath" /> </xsl:call-template>
其中xpath是具有标准日期时间格式的元素或属性的路径。