我在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
错误。
答案 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
对象。