问题描述
我从XML接收日期,格式为
value="2020-08-11T21:00:00.000Z"
我居住在格林尼治标准时间+3时区,因此该日期应返回2020-08-12。如果我仅输出日期并在浏览器中显示它,则似乎可以正确显示。但是,当我使用apache FOP将其输出为PDF时,它仅显示在那里显示的值。
我尝试使用 format-dateTime()
,但是它将日期输出为前一天。
我还能尝试什么?
此外,这里的子字符串也不好。我需要XSLT自动将3小时(取决于时区)添加到给定日期,以便它返回正确的日期。
解决方法
format-date
和format-dateTime
采用一个时区/位置,您要为其设置date或dateTime的格式为第五个参数,例如format-dateTime(xs:dateTime('2020-08-11T21:00:00.000Z'),'[Y0001]-[M01]-[D01] [z]','en',(),'Asia/Baghdad')
,您应该得到2020-08-12 GMT+03:00
。