Javascript 如何在MarkLogic中获取两个xs.date的天数差?
获取两个Javascript 如何在MarkLogic中获取两个xs.date的天数差?,javascript,datetime,marklogic,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();
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中一样,在JavaScript中使用
date2-date1
来计算日期之间的差异并生成xs.dayTimeDuration
在SJS模块中,使用fromxs.date
对象,然后可以使用以数字形式获取天数:
const date1 = xs.date("2018-03-29");
const date2 = xs.date("2018-04-15");
fn.daysFromDuration(date2.subtract(date1));
请注意,fn.daysFromDuration不会将月或年转换为天。幸运的是,xs.date.subtract只返回带有天组件的持续时间。