js 求两日期之差,ie与其他浏览器区别

今天遇到这样一个简单的问题:根据提供的两个日期,求出差值。想想很简单,得到两个日期的毫秒数,作差然后换算成相应单位即可:

代码如下:

      //获得两个日期间隔年数
	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-12-12 12:15:28

js 求两日期之差,ie与其他浏览器区别的相关文章

js求两个日期相差的天数

最近做系统的时候经常要用到js有关时间,自己不是很熟悉用js编写各种有关时间.日期的代码,都是网上百度,基本可以看的懂,但是自己就是写不出来,所以用的js应该在博客记录一下,加深印象. /** * 求两个日期相差的天数 * @param startDateStr * @param endDateStr * @returns */ function getDays(startDateStr, endDateStr){ var separatorStr = "-"; var startDa

js 求两个日期之间相差天数

//求两个日期之间的相差天数 function daysBetween(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne.lastIndexOf('/')); var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf('/') + 1); var OneYear = DateOne.substring(0, DateOne.indexOf('/

JS实现——计算两日期之差

在网上找了个js实现的,根据相差天数计算日期和根据两个日期计算相差多少天的示例和代码: 根据相差天数计算日期: 距离: 年 月 日 (缺省为今天) 相差: 天 (输入负数则往前计算) 日期是:   根据日期计算相差天数: 开始日期: 年 月 日 结束日期: 年 月 日 相差天数:   实现代码如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content=&qu

js 求两个日期相差的天数

转载 http://www.cnblogs.com/caoyuzhi/archive/2012/12/25/2831928.html <script type="text/javascript"> function getDays(strDateStart, strDateEnd) { var strSeparator = "-"; //日期分隔符 var oDate1; var oDate2; var iDays; oDate1 = strDateSt

求两日期之间的相隔天数(year,month,day)

主要思路理解部分看ppt #include<cstdio> int isRunNian(int year); int DiJiTian(int year,int month,int day); void swap(int *a,int *b); int main() { int year1,month1,day1; int year2,month2,day2; int sum=0; scanf("%d%d%d",&year1,&month1,&day

js求出日期

<HTML><HEAD><TITLE>时间日期篇--显示时钟</TITLE><meta charset="utf-8"></HEAD> <BODY bgcolor="#fef4d2" onload=showclock() ><br><div id="clock"></div><script>function chan

js求两个整数的百分比

function GetPercent(num, total) {                          num = parseFloat(num);                          total = parseFloat(total);                          if (isNaN(num) || isNaN(total)) {                              return "-";            

js求两个数的最大公约数

function countDivior(a,b) { if(b===0) { return a; } else { countDivior(b,a%b); } } 原文地址:https://www.cnblogs.com/zhang-jiao/p/12243403.html

js中两种定时器,setTimeout和setInterval的区别

setTimeout只在指定时间后执行一次,代码如下: <script> //定时器 异步运行 function hello(){ alert("hello"); } //使用方法名字执行方法 var t1 = window.setTimeout(hello,1000); var t2 = window.setTimeout("hello()",3000);//使用字符串执行方法 window.clearTimeout(t1);//去掉定时器 </