这个js倒计时,在IE里显示NaN天 NaN时 NaN分 NaN秒 ,是哪里不兼容呢,要怎么改

这个js倒计时,在IE里显示NaN天 NaN时 NaN分 NaN秒 ,是哪里不兼容呢,要怎么改,第1张

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是什么类型的东西!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10127596.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存