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

Parsing 如何解析非ISO8601时间戳以在XSLT中格式化为ISO8601?,parsing,xslt,datetime,Parsing,Xslt,Datetime,如果我有一个XSLT文档,其中包含一些已知格式的时间戳,那么如何在模板中解析这些时间戳,以便在ISO8601中格式化它们 示例格式: UNIX纪元米利斯 YYMMDDHHMMSZ(使用Java SimpleDataFormat格式字符串) XSLT 1.0和XSLT 2.0在如何实现这一点上有区别吗?使用XSLT 2.0,您可以使用日期和日期时间数据类型来计算日期,例如,要将1970年以来的UNIX历元毫秒值转换为日期时间,请参见,您可以这样做,例如,xs:dateTime('1970-01

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

示例格式:

  • UNIX纪元米利斯
  • YYMMDDHHMMSZ(使用Java SimpleDataFormat格式字符串)

XSLT 1.0和XSLT 2.0在如何实现这一点上有区别吗?

使用XSLT 2.0,您可以使用日期和日期时间数据类型来计算日期,例如,要将1970年以来的UNIX历元毫秒值转换为日期时间,请参见,您可以这样做,例如,
xs:dateTime('1970-01-01T00:00:00')+$N*xs:dayTimeDuration('PT0.001S')
。然后,您可以使用函数
format dateTime
格式化这样的
dateTime