You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在XSLT 1.0中将currentDateTime转换为UTC时区?

解决XSLT中将current-dateTime转换为UTC格式的问题

要把current-dateTime()获取的带时区时间转成UTC格式(如2025-03-06T16:16:36.808Z),需要分两步处理:先将时间调整到UTC时区,再按目标格式输出,具体实现如下:

正确的XSLT代码

<xsl:value-of select="format-dateTime(
    adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0S')),
    '[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].[f000]Z'
)"/>

代码说明

  • 时区转换:adjust-dateTime-to-timezone(current-dateTime(), xs:dayTimeDuration('PT0S')) 会把当前时间转换为UTC时区(PT0S代表0小时的时区偏移,即UTC标准时间)。
  • 格式控制:
    • [Y0001]:4位年份
    • [M01]:2位月份
    • [D01]:2位日期
    • [H01]:24小时制的2位小时数
    • [m01]:2位分钟数
    • [s01]:2位秒数
    • [f000]:3位毫秒数(匹配示例中的.808格式)
    • 末尾直接添加Z,表示这是UTC时间

为什么之前的方法无效

你之前尝试的格式字符串存在两个问题:

  1. 没有先将时间转换为UTC时区,直接格式化原时区时间,导致时间数值不对。
  2. 格式字符串中使用了-[H01].[m01]的分隔符(用点代替了冒号),以及[z](会输出时区偏移或缩写,而非固定的Z),不符合目标格式要求。

内容的提问来源于stack exchange,提问作者Viji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:02:37