在java中使用js引擎时,想要去获取两个时间的相差的天数,查找网上的办法:
var beginMonth = parseInt(beginTime.substring(6,8),10);//2016-05-17 18:51:33
var beginYear = parseInt(beginTime.substring(1,5),10);
var beginDate = parseInt(beginTime.substring(9,11),10);
oDate2 = new Date(beginMonth + '-' + beginDate + '-' + beginYear );
var endMonth = parseInt(endTime.substring(6,8),10);//2016-05-17 18:51:33
var endYear = parseInt(endTime.substring(1,5),10);
var endDate = parseInt(endTime.substring(9,11),10);
oDate3 = new Date(endMonth + '-' + endDate + '-' + endYear );
iDays = parseInt(Math.abs(oDate3 - oDate2) / 1000 / 60 / 60 /24);
然后测试的时候,获取到idays的值为NAN,但是,这块代码直接在html中去执行,可以获取到真正的idays的值,
经过最后不断测试,把new Date方法修改为new Date(endYear,endMonth,endDate,0,0,0);就可以正确获取到值
原因可能是java中的js引擎要求时间的格式比较严格