首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用XSLT2.0获取当前日期时间的RFC1123日期格式

如何使用XSLT2.0获取当前日期时间的RFC1123日期格式
EN

Stack Overflow用户
提问于 2019-07-10 05:23:51
回答 2查看 217关注 0票数 0

我尝试在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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-10 18:07:30

使用current-dateTime()获取当前日期和时间,然后使用format-dateTime根据需要对其进行格式化,有关详细信息,请参阅规范https://www.w3.org/TR/xslt20/#function-format-dateTime:图片字符串

代码语言:javascript
复制
'[FNn,*-3], [D01] [MNn] [H01]:[m01]:[s01] [z]'

在我的机器上,在德国夏令时

代码语言:javascript
复制
format-dateTime(current-dateTime(), '[FNn,*-3], [D01] [MNn] [H01]:[m01]:[s01] [z]')

作为

代码语言:javascript
复制
Wed, 10 July 12:01:13 GMT+02:00

这只是一个使用format-dateTime的例子,我还没有检查您引用的RFC的确切细节,以尝试实现确切的要求。

票数 0
EN

Stack Overflow用户

发布于 2019-07-12 05:10:21

感谢您的快速回复,您的解决方案使用Altova XML Spy工作,但不幸的是,它不适用于我使用XSLT2.0的Datapower,不确定哪里出了问题,可能是DP固件版本的问题。

只是为了让其他用户让这篇文章更有帮助。我尝试了下面两个选项,这两个选项对我不起作用,但可能对其他人有用。

使用XSLT

代码语言:javascript
复制
<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脚本获得了我正在查找的相同日期格式,并使用以下命令将其存储在上下文变量中

代码语言:javascript
复制
var dateNeeded = new Date()).toUTCString(); //Thu, 11 Jul 2019 21:08:12 GMT
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56960688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档