繁体   English   中英

如何在MarkLogic中将字符串转换为日期类型?

[英]How to convert string to date type in MarkLogic?

我目前在将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功能,为它提供正确的参数吗? 或者有更好的方法吗?

如何将日期转换回字符串数据类型?

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)

你可以直接使用date类的构造函数。

var d = new Date("2013-04-21");
console.log(d);

您甚至可以使用不同的格式, 参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM