
count = setday - today;试一下改成
count = parseFloat(setday) - parseFloat(today);
如果还有问题,可以试一下,在count = setday - today;加上一句alert(setday+";"+today);定位一下是不是这两个变量出了问题
这个异常是因为变量定义存在问题,导致该问题的常见原因,在不考虑语法错误的情况下,多是因为保留字和页面对象导致,简单说就是:
1、不可以使用页面存在的对象名(id)作为变量名;
2、不可以使用关键词作为变量名。
NaN 就是 Not a Number 的意思
求时间差可以这样
<script language="javascript" type="text/javascript">
function DateDiff(sDate1,sDate2){
//sDate1和sDate2是年-月-日格式
var arrDate,objDate1,objDate2,intDays;
arrDate=sDate1split("-");
objDate1=new Date(arrDate[1]+'-'+arrDate[2]+'-'+arrDate[0]);//转换为月-日-年格式
arrDate=sDate2split("-");
objDate2=new Date(arrDate[1] + '-'+arrDate[2]+'-'+arrDate[0]);
intDays=parseInt(Mathabs(objDate1-objDate2)/1000/60/60/24); //把相差的毫秒数转换为天数
return intDays;
}
alert(DateDiff("2007-1-1","2008-1-1"));
</script>
问题出现:
在做微信小程序时,在开发环境下,日期格式2021-09-22 14:29显示正确,并在真机10连接测试也显示正确
但是断开连接,直接在微信小程序运行,发现日期无法正常显示
发现根本问题:
后面切换为真机调试20调试,发现时间new Date('2021-09-22 14:29')以后,返回NAN (空对象)
解决问题:将时间的—换成/
let date = '2021-09-22 14:29';
date = datereplace(/-/g, "/");
date = new Date(date);
1时间string转时间戳
2时间戳转换成时间(HH:mm)
3时间string转date
4date转时间string
5获取当前的时间string
6获取当前的时间戳
7根据生日获取年龄 格式2020/08/13
8判断是否是24小时之内 结合上面方法6获取当前时间戳
9将时间戳转换成特定的形式 几小时前 几分钟前
10获取当前的时间(年月日)
11获取当前的时间(日)
首先要了解 NaN 是什么:Not a number ( 非数值 )
当语句中需要判断一个变量值是否为数值时,可以用isNaN()方法,得到true则表示不是数值。
var val = "abc";alert(isNaN(val));//结果为:true
虽然语句中碰到产生NaN错误还会继续往下一句解析执行,但还是应该用判断语句处理一下:
if(isNaN(val)){alert("val值 为 非数值");
//其他处理语句,如重新获取、从其他地方获取
}
以上就是关于这个js倒计时,在IE里显示NaN天 NaN时 NaN分 NaN秒 ,是哪里不兼容呢,要怎么改全部的内容,包括:这个js倒计时,在IE里显示NaN天 NaN时 NaN分 NaN秒 ,是哪里不兼容呢,要怎么改、JS计算两个日期时间差,为什么火狐浏览器firefox报NAN异常、js里时间相减后得出的NaN是什么类型的东西!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)