我目前在将String
数据类型转换为Date
类型方面遇到了一些挑战。我使用了MarkLogic JavaScript函数xdmp.parseDateTime
,但我总是得到以下错误:
情景:将“2013-04-21”(字符串)转换为2013-04-21(日期类型)
代码:
let targetDateString = "2013-04-21";
let targetDate = new Date();
targetDate = xdmp.parseDateTime("[Y0001]-[M01]-[D01]",
xs.date(targetDate));
错误信息:
XDMP-ARGTYPE:xdmp.parseDateTime(“[Y0001] - [M01] - [D01]”,xs.date(“2013-04-21”)) - arg2不是String类型
我使用正确的MarkLogic功能,为其提供正确的参数吗? 或者有更好的方法吗?
如何将日期转换回字符串数据类型?
答案 0 :(得分:4)
xs.date("2013-04-21")
是xquery日期构造函数(移植到JS),接受一个字符串并返回一个xs:date。 xs.dateTime("2013-04-21T00:00:00")
会给你一个xs:dateTime。
xdmp.parseDateTime
可以将字符串从更多格式转换为xs:dateTime,第二个术语是字符串:xdmp.parseDateTime("[Y0001]-[M01]-[D01]", targetDateString)
请参阅https://docs.marklogic.com/xdmp.parseDateTime
转换回字符串只是fn.string(yourdate)
答案 1 :(得分:3)