如何计算开始日期和开始日期之间的总天数SAPUI5中的结束日期?

时间:2016-05-24 06:23:56

标签: sapui5

我在SAPUI5中使用DatePicker控件,我想计算selected开始日期和结束日期之间的总天数。

var startDate = this.getView().byId("DP-FromDate").getValue();
var endDate = this.getView().byId("DP-ToDate").getValue();
var sDate = new Date(startDate);
var eDate = new Date(endDate);

var diff = Math.abs(sDate.getTime() - eDate.getTime());
var diffD = Math.ceil(diff / (1000 * 60 * 60 * 24)); 
alert(diffD);

我收到sdate & eDate Invalid dates错误。

2 个答案:

答案 0 :(得分:0)

您应该使用getDateValue方法而不是getValue

getDateValue将日期作为JavaScript Date对象返回。 因此,不需要将其转换为日期格式。

然后,您的代码将是:

var startDate = this.getView().byId("DP-FromDate").getDateValue();
var endDate = this.getView().byId("DP-ToDate").getDateValue();  
var diff = Math.abs(startDate.getTime() - endDate.getTime());
var diffD = Math.ceil(diff / (1000 * 60 * 60 * 24)); 
alert(diffD);

答案 1 :(得分:0)

getValue的{​​{1}}方法返回格式化的本地化日期字符串(!),例如' 2015年5月12日',它不一定用作sap.m.DatePicker构造函数的输入参数。

幸运的是,您不必转换任何内容:您只需要使用getDateValue方法。它将返回一个现成的Date对象。

相关问题