使用Altova MapForce转换日期格式

时间:2016-07-28 20:14:05

标签: xml xslt

希望其他人使用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)格式。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

你为什么不这样做:

<xsl:value-of select="substring-before(submitTime, 'T')"/>

您永远无法使用format-date()函数格式化输入,因为它不是日期,也不是format-dateTime()函数,因为它也不是有效的dateTime(时间偏移需要是hh:mm格式)。