希望其他人使用Altova Mapforce格式化日期。
我正在尝试转换XML文件的日期格式。我的XML文件有一个不同值的标记,如:
<submitTime>2016-06-09T18:27:56+0000</submitTime>
<submitTime>2016-06-09T18:13:10+0000</submitTime>
我使用XSLT样式表将日期格式转换为(YYYY-MM-DD)
<submitTime>2016-06-09</submitTime>
这是我使用Altavo Mapforce软件编写的XSLT。
.......
<submitTime>
<xsl:sequence select="format-date(xs:date(fn:string(_source/submitTime)), '[y,4-4][M,2-2][D,2-2]', 'en', (), ())"/>
</submitTime>
.......
但是当我使用java程序使用XML运行此XSLT时,我收到此错误:
FORG0001: Invalid date "2016-06-09T17:38:20+0000" (Value includes time)
我对此很新。我可能会遗漏一些东西。在Altova还有其他方法可以将日期转换为(YYYY-MM-DD)格式。任何帮助将不胜感激。
答案 0 :(得分:1)
你为什么不这样做:
<xsl:value-of select="substring-before(submitTime, 'T')"/>
您永远无法使用format-date()
函数格式化输入,因为它不是日期,也不是format-dateTime()
函数,因为它也不是有效的dateTime(时间偏移需要是hh:mm
格式)。