Некоторое время назад у меня была похожая проблема:
<xsl:template name="FormatDate">
<xsl:param name="DateTime" />
<date>
<xsl:value-of select="substring($DateTime,1,8)" />
</date>
<time>
<xsl:value-of select="substring($DateTime,10,6)" />
</time>
</xsl:template>
Использование:
<xsl:call-template name="FormatDate">
<xsl:with-param name="DateTime" select="LastWriteTime" />
</xsl:call-template>
Обратите внимание, что мне не нужен часовой пояс!