关于new Date()方法在IE8下面无效的解决办法
2017-08-22 13:30
555 查看
1. 如果获取两个日期差是需要Date( )方法的,最近发现Date()方法在IE8下并不友好,存在一些兼容性的问题。
下面介绍方法,计算两个日期差
2. 上面的方法是一种,第二种是把日期格式转换一下,再用返回的日期进行处理。
这样用转换后返回的日期在进行.getTime()等方法IE就能正常处理了
//计算两个日期相差天数
function getDays(vaildEDate,currentDate){
var sDate = parseISO8601(vaildEDate).getTime();
var eDate = parseISO8601(currentDate).getTime();
var iDays = parseInt((eDate - sDate)/(1000*60*60*24));
return iDays ;
}
下面介绍方法,计算两个日期差
//计算日期差函数,兼容IE8 function getDays(strDateStart,strDateEnd){ var strSeparator = "."; //2017.08.08 这里以.为分隔符 var oDate1; var oDate2; var iDays; oDate1= strDateStart.split(strSeparator); oDate2= strDateEnd.split(strSeparator); var strDateS = new Date(oDate1[0], oDate1[1]-1, oDate1[2]); var strDateE = new Date(oDate2[0], oDate2[1]-1, oDate2[2]); iDays = parseInt(Math.abs(strDateS - strDateE ) / (1000*24*3600)) return iDays ; } alert( getDays('2017.08.23',2017.08.13'')); //10
2. 上面的方法是一种,第二种是把日期格式转换一下,再用返回的日期进行处理。
function parseISO8601(dateStringInRange) { var isoExp = /^\s*(\d{4}).(\d\d).(\d\d)\s*$/, date = new Date(NaN), month, parts = isoExp.exec(dateStringInRange); if(parts) { month = +parts[2]; date.setFullYear(parts[1], month - 1, parts[3]); if(month != date.getMonth() + 1) { date.setTime(NaN); } } return date; }
这样用转换后返回的日期在进行.getTime()等方法IE就能正常处理了
//计算两个日期相差天数
function getDays(vaildEDate,currentDate){
var sDate = parseISO8601(vaildEDate).getTime();
var eDate = parseISO8601(currentDate).getTime();
var iDays = parseInt((eDate - sDate)/(1000*60*60*24));
return iDays ;
}
相关文章推荐
- new Date()问题在ie8下面的处理方法
- ie8 不支持new Date(2012-11-10)问题的解决方法
- 关于inline-block在IE8下无效的解决方法
- IE7,IE8不支持New Date的解决方法
- 关于IE8版本提示“不支持‘trim’此属性或者方法”的解决办法。转摘雨网络
- ie8 不支持new Date(2012-11-10)问题的解决方法
- IE8 new Date(yyyy-MM-dd hh:mm:ss) 返回值为空解决办法
- 关于下拉框option在IE下jquery方法hide()无效的解决办法
- 关于DatePickerDialog点击返回键取消调用回调方法onDateSet()的解决办法
- 关于DatePickerDialog点击返回键取消调用回调方法onDateSet()的解决办法
- 关于使用jquery时,ie8下提示对象不支持的属性或方法的解决办法
- 关于jquery的load方法在ie7下面不能很好达到预想中问题的解决办法。
- javascript中IE浏览器不支持NEW DATE()带参数的解决方法
- WebView在API 17后调addJavascriptInterface方法无效的解决办法
- 关于LayoutInflater.from().inflate()方法不能加载自定义view的解决办法
- 关于servlet中出现GET方法不能应用于此url的解决办法
- 关于jquery $符号在IE下无效的解决办法
- 关于IE8 不适配 Jquery2.0+的解决方法
- 关于使用super.getHibernateTemplate()中的方法报java.lang.NullPointerException的解决办法