【问题标题】:Convert date format using Altova MapForce使用 Altova MapForce 转换日期格式
【发布时间】:2016-07-28 20:14:05
【问题描述】:

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

【问题讨论】:

    标签: xml xslt


    【解决方案1】:

    你为什么不干脆做:

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

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

    【讨论】:

    • 谢谢。有效。我昨天试过了,但我错过了父标签,这就是你的解决方案不起作用的原因。再次感谢。
    猜你喜欢
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多