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:date
xs.dateTime(“2013-04-21T00:00:00”)
会给你一个xs:dateTime

xdmp.parseDateTime
可以将字符串从更多格式转换为xs:dateTime,第二个术语是字符串:
xdmp.parseDateTime(“[Y0001]-[M01]-[D01]”,targetDateString)

转换回字符串只是
fn.string(yourdate)