下面是一个使用Java的例子,它与Xalan一起使用,并且在ORACLE JRE中是默认可用的。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="http://xml.apache.org/xslt/java"
exclude-result-prefixes="java">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/root">
<xsl:copy>
<xsl:copy-of select="@*|node()"/>
<dateTimeStamp>
<xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('yyyy-MM-dd-HH.mm.ss.SSSSSS a'), java:java.util.Date.new())" />
</dateTimeStamp>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
从http://www.heber.it/?p=1053。
如果你想拥有12小时的格式,只需更改
<xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('yyyy-MM-dd-HH.mm.ss.SSSSSS'), java:java.util.Date.new())" />
到
<xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('yyyy-MM-dd-hh.mm.ss.SSSSSS a'), java:java.util.Date.new())" />
它输出:
<root>
<Test>tested</Test>
<dateTimeStamp>2014-05-23-01.57.04.000441 PM</dateTimeStamp>
</root>
乔尔,当我使用乌尔解决方案我不获得时间戳值。 测试 1989年10月11日 –
我尝试了使用的Xalan 2.7.1和它的工作原理。见http://xsltransform.net/6qM2e2n –
谢谢乔尔。它工作,但它显示24小时制。 2014-05-21-17.15.01.000605 dateTimeStamp> 如何获得12小时格式? 我会为此问题添加+1 –