Javascript 如何在MarkLogic中将字符串转换为日期类型?
我目前在将Javascript 如何在MarkLogic中将字符串转换为日期类型?,javascript,marklogic,data-conversion,Javascript,Marklogic,Data Conversion,我目前在将字符串数据类型转换为日期类型方面遇到了一些挑战。我使用了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]"
字符串
数据类型转换为日期
类型方面遇到了一些挑战。我使用了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));
错误信息:
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不是字符串类型
我是否使用了正确的MarkLogic函数,为其提供了正确的参数?
还是有更好的方法
如何将日期转换回字符串数据类型?您可以直接使用
date
类的构造函数
var d = new Date("2013-04-21");
console.log(d);
您甚至可以将其用于不同的格式,.xs.date(“2013-04-21”)
是xquery日期构造函数(移植到JS),获取字符串并返回xs:datexs.dateTime(“2013-04-21T00:00:00”)
会给你一个xs:dateTime
xdmp.parseDateTime
可以将字符串从更多格式转换为xs:dateTime,第二个术语是字符串:xdmp.parseDateTime(“[Y0001]-[M01]-[D01]”,targetDateString)
看
转换回字符串只是fn.string(yourdate)