骑着猪猪去逛街的gravatar头像
骑着猪猪去逛街 2015-04-27 15:08:02

JS计算两个日期时间差,为什么火狐浏览器firefox报NAN异常?而谷歌游览器chrome却正常

$(function (){
	   		$(".list_table tr").each(function(i){
		   		if(i!=0){
				
				var	createTime=$(this).find("td:eq(1)").text();
				
				var now = new Date();
			    var date = new Date(createTime);
			    var day = 24 * 3600 * 1000;
			    var dayNum=Math.floor((now.getTime() - date.getTime()) / day);
				
					 if(dayNum>=2){
						$(this).css("color","red");
					}
				}
			});
	   	});

最近一直困扰,算两个日期中间差,超过48小时爆红。

目前情况就是火狐 不识别,报NAN问题,据初步估计应该是new Date问题。因为传入字符串转DATE问题。

但是在谷歌游览器能够正常运作。

JS大牛们 有什么好的提议么?

所有回答列表(4)
骑着猪猪去逛街的gravatar头像
骑着猪猪去逛街  LV32 2015年4月27日
var date = new Date(createTime);

个人估计应该是这个问题。

 

问题目前解决了,原因就是new Date()在部分游览器中解析存在兼容情况,但是使用new Date另外一种构造方法就可以成功了,可以使用new Date(y,m,d,h,m,s); 进行对时间日期的创建。

评论(3) 最佳答案
最代码官方的gravatar头像
最代码官方  LV167 2015年4月27日

javascript的构造函数支持这种格式:2015/04/17 14:00:04

代码如下:

var	createTime="2015/04/17 14:00:04";
				
var now = new Date();
 var date = new Date(createTime);
var day = 24 * 3600 * 1000;
var dayNum=Math.floor((now.getTime() - date.getTime()) / day);
alert(dayNum);

所以你把你的时间转换下即可。

下面是在firefox和chrome下执行的效果:

chrome下

JS计算两个日期时间差,为什么火狐浏览器firefox报NAN异常?而谷歌游览器chrome却正常

firefox下

JS计算两个日期时间差,为什么火狐浏览器firefox报NAN异常?而谷歌游览器chrome却正常

至于字符串如何转换那就简单了。

寒樱玉冕的gravatar头像
寒樱玉冕  LV12 2015年4月27日

计算时间差 还在放在后台写吧 更简单 然后在返回到 前台来!!

gurui的gravatar头像
gurui  LV6 2015年4月27日

虽然不是很懂 学习学习下是可以的

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友