我是XPage应用程序的天真开发人员之一。我拿起了XPages,因为我发现它们真的很有趣,可以构建我们想要的东西。
这是我几天来工作的一个问题,但无法克服它。
在我的请假申请中,我有两个日期字段,leaveFrom& leaveTill和一个计算编辑框,我将显示否。天(noDays)动态地,即上面两个离开日期字段的差异。和 我无法做这么简单的事情。
我使用Lotus 8.5.3创建此应用程序。我看到了一些方法,如getcomponent("").setvalue()
或getvalue()
。但这两种方法在8.5.3中不可用。我使用这些方法时总是会出错。我尝试在CSJS上使用getComponent但是没有成功。
我也尝试过使用其他脚本方法,我可以创建后端文档但是我的当前xpage上没有显示值。
请告诉我正确的路径。
答案 0 :(得分:4)
您可以使用以下XSnippet来比较日期(从而也计算两个日期之间的天数):http://openntf.org/XSnippets.nsf/snippet.xsp?id=compare-dates。我希望您可以将此作为您具体案例的输入。
关于getComponent(“”)。getValue()和.setValue()。它们当然也可以在8.5.3中使用。请记住,XPages区分大小写。
答案 1 :(得分:2)
代码无效,因为Java日期的方法 timeDifference 不存在:
var difference = endDate.timeDifference(startDate);
您必须先将其转换为 NotesDateTime :
var difference = null;
try{
var nDateStart = session.createDateTime( startDate );
var nDateEnd = session.createDateTime( endDate );
difference = nDateEnd.timeDifference(nDateStart);
difference = (Math.floor(difference/86400)) + 1;
}catch(e){return e}
difference
答案 2 :(得分:0)
感谢您的解释性视频,我从他们那里学到了很多东西。
9中的注释? :)
回到你的问题。
如果两个字段都是DATETIME格式,那么您可以执行以下操作。
(endDate - startDate) / (24*60*60);