在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引擎要求時間的格式比較嚴格