如何在 MarkLogic 中获取两个 xs.date 的天数差异?

How to get the days difference of two xs.date in 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);

您不能像在 XQuery 中那样使用 date2 - date1 计算日期之间的差异并在 JavaScript 中生成 xs.dayTimeDuration

在 SJS 模块中,使用 xs.date.subtract() from the xs.date object, then you can use fn.daysFromDuration() 获取天数:

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

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