(XPages)如何编写计算日期间隔天数的代码?

(XPages)如何编写计算日期间隔天数的代码?,xpages,lotus-notes,hcl-notes,Xpages,Lotus Notes,Hcl Notes,我有一个字段名,叫做REF_DATE。参考日期的格式为YYYY/MM/DD 我需要计算从今天到参考日期的天数 例如: 参考日期=2020/01/09 今天=2020/04/01 以下是我尝试的代码: var s1 = "2020/01/09"; var s2 = "2020/04/01"; var aDate = s1.split("/"); var oDate1 = Date.UTC(aDate[1],aDate[2],aDate[0]); var bDate = s2.split("/");

我有一个字段名,叫做REF_DATE。参考日期的格式为YYYY/MM/DD

我需要计算从今天到参考日期的天数

例如:

参考日期=2020/01/09

今天=2020/04/01

以下是我尝试的代码:

var s1 = "2020/01/09";
var s2 = "2020/04/01";
var aDate = s1.split("/");
var oDate1 = Date.UTC(aDate[1],aDate[2],aDate[0]);
var bDate = s2.split("/");
var oDate2 = Date.UTC(bDate[1],bDate[2],bDate[0]);
var iDays = Math.floor((oDate2 - oDate1)/86400000);
return oDate1+"<br>"+oDate2+"<br>"+iDays+"<br>";
但是xpages显示为853

所以,我需要你们帮我计算两次约会之间的天数


谢谢

将年份作为第一个日期传递。UTC参数并从0月份减去1是1月份:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">    
<xp:this.beforePageLoad><![CDATA[#{javascript:
    var s1 = "2020/01/09";
    var s2 = "2020/04/01";
    var aDate = s1.split("/");
    var oDate1 = Date.UTC(Number(aDate[0]), Number(aDate[1]-1), Number(aDate[2]));

    var aDate = s2.split("/");
    var oDate2 = Date.UTC(Number(aDate[0]), Number(aDate[1]-1), Number(aDate[2]));

    var iDays = Math.floor((oDate2 - oDate1) /1000/60/60/24);
    print(iDays);
}]]></xp:this.beforePageLoad>
</xp:view>

当我运行上面的代码时,我发现由于夏令时的原因,代码可能会产生不同的结果。会发生什么?你有错误吗?它对我有用。根据您的浏览器,您可能会遇到问题,因为您正在使用。但是,再一次:在重复的问题中看到答案。@str:它对我有效。这是没有帮助的。你甚至没有问Ariel正在使用哪种JS引擎…谢谢你的回答!但是console.log;不适用于我的JS引擎。结果仍然显示853…这对你有效但对我无效。你的JS引擎是什么?我的JS引擎是XPages。是的,它在XPages中工作。我用完整的XPage再次修改了答案。您是否已按年、月、日的顺序更正了错误?我在4月7日使用了您的代码。所以代码对我不起作用。你在4月9日编辑后,我在4月10日使用了你的代码。现在,代码可以在XPages中为我工作。我真的很感激你的回答。谢谢