使用以下标记显示当前夏令时发生时正常工作的时区,并且由于我们的服务器在英国显示时间为01/04/2015 03:43:00 PM + 0100
,我们还希望显示时区,请指教。
以前使用过的标签:
date:format-date(date:date-time(), 'dd/MM/yyyy hh:mm:ss a Z')
问候
Arvind
答案 0 :(得分:0)
如果“正确”表示您希望它显示为“BST”(英国夏令时),则日期/时间值中实际上没有足够的信息来执行此操作 - 时区偏移+1发生在格林威治子午线附近的许多不同时区。
您正在使用EXSLT
库格式化日期和时间。这是基于Java的SimpleDateFormat
类,因此您可以尝试使用时区指示符z
而不是Z
。
或者,如果您可以访问XSLT 2.0,则可以使用format-dateTime()
函数。这会遇到同样的问题(dateTime值只存储一个偏移量,实际上并没有告诉你时区的名称)。但是你可以通过将format-dateTime()
的第5个参数设置为“Europe / London”来给处理器一个线索,在这种情况下它可能能够解决它。