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

是否有XQuery函数可将指定日期时间字符串转为目标格式?

XQuery 日期时间字符串转换方案

当然有对应的XQuery函数可以实现这个需求,核心是两步:解析字符串为日期时间类型,再格式化为目标字符串。

具体实现步骤

  1. 使用fn:parse-dateTime()将输入的RFC风格日期字符串解析为xs:dateTime类型
  2. 使用fn:format-dateTime()将解析后的日期时间对象格式化为你需要的YYYY-MM-DDTHH:MM:SS格式

代码示例

let $input := "Sun, 05 Jan 2025 15:53:10 GMT"
// 解析输入字符串,模板对应输入的日期格式
let $parsed-datetime := fn:parse-dateTime("[Wn,], [D01] [Mn,3] [Y0001] [H01]:[m01]:[s01] [z3]", $input)
// 格式化为目标样式
return fn:format-dateTime($parsed-datetime, "[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01]")

参数说明

  • parse-dateTime的第一个参数是输入格式模板:
    • [Wn,]:匹配星期缩写加逗号(比如Sun,)
    • [D01]:两位数字的日期(比如05)
    • [Mn,3]:三位字母的月份缩写(比如Jan)
    • [Y0001]:四位数字的年份(比如2025)
    • [H01]:[m01]:[s01]:两位数字的时、分、秒
    • [z3]:三位字母的时区标识(比如GMT)
  • format-dateTime的参数是输出格式模板:
    • [Y0001]-[M01]-[D01]:四位年份、两位月份、两位日期,用连字符分隔
    • T[H01]:[m01]:[s01]:大写字母T分隔日期和时间,后接两位时、分、秒

这个方案在主流XQuery处理器(如BaseX、MarkLogic、Saxon)中都能正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 03:13:11