今天遇到这样一个简单的问题:根据提供的两个日期,求出差值。想想很简单,得到两个日期的毫秒数,作差然后换算成相应单位即可:
代码如下:
//获得两个日期间隔年数 function yearDiff(beginDate,endDate){ //日期差 毫秒数 var miniSecond=endDate.getTime()-beginDate.getTime(); return Math.floor(miniSecond/(24*3600*1000*360)); //间隔年份 //return Math.floor(miniSecond/(24*3600*1000)); //间隔天数 }
正常这样就实现了,但是很多时候,我们是在前台获得一个串形式的日期(如:‘2008-06-07‘),然后和现在日期作差。正常会把之前的转化为日期格式,然后再作差:
var beginDate="2008-06-07"; beginDate= new Date(beginDate); var nowDate=new Date(); var diffYear= yearDiff(beginDate,nowDate);
这样应该就好使了,亲测firefox没有问题,ie结果:NAN 。 后来发现是ie在解析beginDate转化的时候出现问题了。
beginDate = new Date(beginDate.replace(/-/g, "/"));
这样ok!! 不知道什么情况,笔记
2015-05-05 20:27
时间: 2024-10-12 12:34:17