如何在XSLT中解析非ISO8601时间戳以格式化为ISO8601?

时间:2012-08-07 09:51:06

标签: parsing xslt datetime

如果我在XSLT中有一个包含某种已知格式的时间戳的文档,我该如何在模板中解析这些时间戳,以便我可以在ISO8601中格式化它们?

示例格式:

  • UNIX epoch millis
  • yyMMddHHmmssZ(使用Java SimpleDateFormat格式字符串)

在XSLT 1.0与2.0中如何做到这一点有什么不同?

1 个答案:

答案 0 :(得分:1)

使用XSLT 2.0,您可以使用date和dateTime数据类型来计算日期,例如将自1970年以来的UNIX纪元毫秒值转换为dateTime,请参阅http://p2p.wrox.com/xslt/79802-convert-format-unix-timestamp.html,例如,您可以执行此操作。 xs:dateTime('1970-01-01T00:00:00') + $N * xs:dayTimeDuration('PT0.001S')。然后,您可以使用dateTime http://www.w3.org/TR/xslt20/#format-date函数格式化format-dateTime