我尝试在XSLT中检索RFC1123日期格式的当前日期时间。有人尝试过使用XSL2.0吗?
我见过用于转换XSLT2.0中基于区域的各种日期时间的代码,并将其格式化为特定的日期时间格式,如yyyy/mm/dd或YYYY:MM:DDTHH:MM:SS.0Z,但找不到一种方法将其格式化为如下所示
2019年7月9日星期二20:34:29格林尼治标准时间
concat(日期:add(‘1970-01-01T00:00:00’,concat('PT',floor(dp:time-value() div 1000),'S')),':',dp:time-value() mod 1000)
此函数以GMT格式返回,格式为2019-07-09T21:01:26:547
如何使用XSLT2.0将其格式化为- Tue,09 Jul 2019 20:34:29 GMT?
发布于 2019-07-10 18:07:30
使用current-dateTime()获取当前日期和时间,然后使用format-dateTime根据需要对其进行格式化,有关详细信息,请参阅规范https://www.w3.org/TR/xslt20/#function-format-dateTime:图片字符串
'[FNn,*-3], [D01] [MNn] [H01]:[m01]:[s01] [z]'在我的机器上,在德国夏令时
format-dateTime(current-dateTime(), '[FNn,*-3], [D01] [MNn] [H01]:[m01]:[s01] [z]')作为
Wed, 10 July 12:01:13 GMT+02:00这只是一个使用format-dateTime的例子,我还没有检查您引用的RFC的确切细节,以尝试实现确切的要求。
发布于 2019-07-12 05:10:21
感谢您的快速回复,您的解决方案使用Altova XML Spy工作,但不幸的是,它不适用于我使用XSLT2.0的Datapower,不确定哪里出了问题,可能是DP固件版本的问题。
只是为了让其他用户让这篇文章更有帮助。我尝试了下面两个选项,这两个选项对我不起作用,但可能对其他人有用。
使用XSLT
<xsl:value-of select="java:java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now(ZoneOffset.UTC))"></xsl:value-of>
<xsl:value-of select="format-dateTime(current-dateTime(), '[FNn,*-3], [D01] [MNn] [H01]:[m01]:[s01] [z]')"/>因此,我使用Gateway脚本获得了我正在查找的相同日期格式,并使用以下命令将其存储在上下文变量中
var dateNeeded = new Date()).toUTCString(); //Thu, 11 Jul 2019 21:08:12 GMThttps://stackoverflow.com/questions/56960688
复制相似问题