JavaScrit 判断两个时间相差的各个阶段

 
<script type="text/javascript">
		function dateDiff( str1, str2 ) { 
		var diff = Date.parse( str2 ) - Date.parse( str1 );
		 return isNaN( diff ) ? NaN : { 
		 diff : diff, 
			 ms : Math.floor( diff % 1000 ),
		  	 s : Math.floor( diff / 1000 % 60 ),
		  	 m : Math.floor( diff / 60000 % 60 ),
		     h : Math.floor( diff / 3600000 % 24 ), 
		     d : Math.floor( diff / 86400000 ) }; 
		 } 
		 
		 	var obj = dateDiff(new Date(new Date("2011-03-04 12:23:00".replace("-","/"))
		 	), new Date("2011-03-05 12:24:00".replace("-","/")));
		 	alert( obj.ms +"毫秒" + obj.s + " 秒"  + obj.m + " 分" + obj.h + " 小时" + obj.d + " 天:" );
	</script>

这些代码只是把两个时间做出了比较,可以自己试试,然后找出规律,做出自己想要的结果。多多分享。

 


 以下应该更贴切些:

function mydiff(date1,date2,interval)
		 { var second=1000, minute=second*60, hour=minute*60, day=hour*24, week=day*7; 
		 date1 = new Date(date1); date2 = new Date(date2); var 
		 timediff = date2 - date1; 
		 if (isNaN(timediff)) return NaN; switch (interval) 
		 { case "years": return date2.getFullYear() - date1.getFullYear();
		  case "months": return ( ( date2.getFullYear() * 12 + date2.getMonth() ) - ( date1.getFullYear() * 12 + date1.getMonth() ) );
		   case "weeks" : return Math.floor(timediff / week);
		    case "days" :  return Math.floor(timediff / day);
		    case "hours" : return Math.floor(timediff / hour); 
		    case "minutes": return Math.floor(timediff / minute); 
		    case "seconds": return Math.floor(timediff / second); 
		    default: return undefined;
		     } 
		 } 
		 
		 var o = mydiff(new Date(new Date("2011-03-04 12:23:00".replace("-","/"))
		 	), new Date("2011-03-05 12:24:00".replace("-","/")),"days");
		
	   	alert(o);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值