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

MarkLogic中如何将字符串转日期类型?使用xdmp.parseDateTime报错求助

解决MarkLogic中String转Date的xdmp.parseDateTime错误问题

嘿,我帮你揪出问题所在啦!你在使用xdmp.parseDateTime()的时候犯了一个参数逻辑的小错误~

问题根源

xdmp.parseDateTime()的作用是把符合指定格式的字符串解析为日期类型,它的第二个参数需要传入待解析的字符串,但你代码里却把字符串先转成了xs.date类型传进去,这就触发了参数类型不匹配的错误(XDMP-ARGTYPE)。

正确实现方式

方式1:用xdmp.parseDateTime解析字符串

直接把你的日期字符串作为第二个参数传入,格式模板匹配YYYY-MM-DD即可:

let targetDateString = "2013-04-21";
// 格式模板[Y0001]-[M01]-[D01]对应YYYY-MM-DD格式
let targetDate = xdmp.parseDateTime("[Y0001]-[M01]-[D01]", targetDateString);

方式2:更简洁的xs.date()(推荐)

因为你的日期字符串是标准的ISO 8601格式(YYYY-MM-DD),其实可以直接用xs.date()来转换,不需要调用xdmp.parseDateTime():

let targetDateString = "2013-04-21";
let targetDate = xs.date(targetDateString);

这样就能顺利把字符串"2013-04-21"转换成对应的Date类型啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:35:50