在 XSL 中使用时区格式化日期
Format date with timezones in XSL
从XML我收到
形式的日期
value="2020-08-11T21:00:00.000Z"
我住在 GMT +3 时区,所以这个日期应该 return 2020-08-12。如果我只是输出日期并在浏览器中显示它,它似乎可以正确呈现。但是当我使用 apache FOP 将它输出为 PDF 时,它只显示那里显示的值。
我尝试使用 format-dateTime()
但它输出的日期与前一天一样。
我还能尝试什么?
此外,这里的子字符串处理不是很好。我需要 XSLT 自动将 3 小时(取决于时区)添加到给定日期,以便 return 正确的日期。
format-date
和 format-dateTime
取一个 timezone/place,您希望将其格式化为日期或日期时间作为第五个参数,例如format-dateTime(xs:dateTime('2020-08-11T21:00:00.000Z'), '[Y0001]-[M01]-[D01] [z]', 'en', (), 'Asia/Baghdad')
你应该得到例如2020-08-12 GMT+03:00
.
从XML我收到
形式的日期value="2020-08-11T21:00:00.000Z"
我住在 GMT +3 时区,所以这个日期应该 return 2020-08-12。如果我只是输出日期并在浏览器中显示它,它似乎可以正确呈现。但是当我使用 apache FOP 将它输出为 PDF 时,它只显示那里显示的值。
我尝试使用 format-dateTime()
但它输出的日期与前一天一样。
我还能尝试什么?
此外,这里的子字符串处理不是很好。我需要 XSLT 自动将 3 小时(取决于时区)添加到给定日期,以便 return 正确的日期。
format-date
和 format-dateTime
取一个 timezone/place,您希望将其格式化为日期或日期时间作为第五个参数,例如format-dateTime(xs:dateTime('2020-08-11T21:00:00.000Z'), '[Y0001]-[M01]-[D01] [z]', 'en', (), 'Asia/Baghdad')
你应该得到例如2020-08-12 GMT+03:00
.