如何在 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 is not of type String
我是否使用了正确的 MarkLogic 函数,为其提供了正确的参数?
或者有更好的方法吗?
如何将日期转换回字符串数据类型?
可以直接使用date
class的构造函数.
var d = new Date("2013-04-21");
console.log(d);
您甚至可以将其用于不同的格式,Ref。
xs.date("2013-04-21")
是 xquery 日期构造函数(移植到 JS),接受一个字符串并返回一个 xs:date。 xs.dateTime("2013-04-21T00:00:00")
会给你一个 xs:date 时间。
xdmp.parseDateTime
可以把一个字符串从更多的格式变成xs:date时间,第二项是一个字符串:xdmp.parseDateTime("[Y0001]-[M01]-[D01]", targetDateString)
见https://docs.marklogic.com/xdmp.parseDateTime
转换回字符串只是 fn.string(yourdate)
我目前在将 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 is not of type String
我是否使用了正确的 MarkLogic 函数,为其提供了正确的参数? 或者有更好的方法吗?
如何将日期转换回字符串数据类型?
可以直接使用date
class的构造函数.
var d = new Date("2013-04-21");
console.log(d);
您甚至可以将其用于不同的格式,Ref。
xs.date("2013-04-21")
是 xquery 日期构造函数(移植到 JS),接受一个字符串并返回一个 xs:date。 xs.dateTime("2013-04-21T00:00:00")
会给你一个 xs:date 时间。
xdmp.parseDateTime
可以把一个字符串从更多的格式变成xs:date时间,第二项是一个字符串:xdmp.parseDateTime("[Y0001]-[M01]-[D01]", targetDateString)
见https://docs.marklogic.com/xdmp.parseDateTime
转换回字符串只是 fn.string(yourdate)