最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to convert string to date type in MarkLogic? - Stack Overflow

programmeradmin3浏览0评论

I am currently having some challenge in converting String data type to Date type. I used the MarkLogic JavaScript function xdmp.parseDateTime, but I am always getting the error below:

Scenario: Convert "2013-04-21" (string) to 2013-04-21 (date type)

Code:

let targetDateString = "2013-04-21";
let targetDate = new Date();

targetDate = xdmp.parseDateTime("[Y0001]-[M01]-[D01]", 
xs.date(targetDate));

Error Info:

XDMP-ARGTYPE: xdmp.parseDateTime("[Y0001]-[M01]-[D01]", xs.date("2013-04-21")) -- arg2 is not of type String

Am I using the right MarkLogic function, supplying the right parameters to it? Or is there a better way to do it?

And how do I cast a date back to a string data type?

I am currently having some challenge in converting String data type to Date type. I used the MarkLogic JavaScript function xdmp.parseDateTime, but I am always getting the error below:

Scenario: Convert "2013-04-21" (string) to 2013-04-21 (date type)

Code:

let targetDateString = "2013-04-21";
let targetDate = new Date();

targetDate = xdmp.parseDateTime("[Y0001]-[M01]-[D01]", 
xs.date(targetDate));

Error Info:

XDMP-ARGTYPE: xdmp.parseDateTime("[Y0001]-[M01]-[D01]", xs.date("2013-04-21")) -- arg2 is not of type String

Am I using the right MarkLogic function, supplying the right parameters to it? Or is there a better way to do it?

And how do I cast a date back to a string data type?

Share Improve this question edited Jul 22, 2018 at 23:57 Mads Hansen 67k12 gold badges116 silver badges152 bronze badges asked May 3, 2018 at 8:01 RyanRyan 17510 bronze badges 0
Add a ment  | 

2 Answers 2

Reset to default 5

xs.date("2013-04-21") is the xquery date constructor (ported to JS), taking a string and returning an xs:date. xs.dateTime("2013-04-21T00:00:00") would get you an xs:dateTime.

xdmp.parseDateTime can turn a string to xs:dateTime from more formats, the second term is a string: xdmp.parseDateTime("[Y0001]-[M01]-[D01]", targetDateString)

See https://docs.marklogic./xdmp.parseDateTime

Converting back to a string is just fn.string(yourdate)

you can directly use the constructor of date class.

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

you can even use it with different formats, Ref.

发布评论

评论列表(0)

  1. 暂无评论