如何在MarkLogic中获得两个xs.date的天差?

时间:2018-05-09 01:18:06

标签: javascript datetime marklogic

获取两个xs.date类型之间的日期(数字)差异的适当函数是什么?

var date1 = new Date();
var date2 = new Date();

date1 = xs.date("2018-03-29");
date2 = xs.date("2018-04-15");

我尝试使用 fn.daysFromDuration 函数(请参阅下面的示例),但它没有返回表示天差的数值。它返回xs.dayTimeDuration

var dateDiff = new Date();
dateDiff = fn.daysFromDuration(date2 - date1);

1 个答案:

答案 0 :(得分:4)

您无法使用date2 - date1来计算日期之间的差异,并在JavaScript中产生xs.dayTimeDuration,就像在XQuery中一样。

在SJS模块中,使用xs.date对象中的xs.date.subtract(),然后您可以使用fn.daysFromDuration()获取天数作为数字:

const date1 = xs.date("2018-03-29");
const date2 = xs.date("2018-04-15");

fn.daysFromDuration(date2.subtract(date1));