簡體   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