美文网首页
2019-02-26 倒计时在iPhone上的变成了NAN:NA

2019-02-26 倒计时在iPhone上的变成了NAN:NA

作者: 不才匠 | 来源:发表于2019-02-26 15:56 被阅读0次

问题描述:

在用户已经下单了,但是并没有完成支付时,为用户的订单保留两小时的待支付状态。在 安卓机 和 pc浏览器端 没有发现问题,但是在iphone上就会出现NAN:NAN:NAN。

后台传过来的数据的时间格式:

"endTime":"2019-02-27 00:00:00.0",

我的处理方式:

倒计时的处理函数

问题所在:

iPhone 的浏览器内核 和 safari 浏览器是相同内核  ---- Webkit 。 百度后发现,这是一个老坑。

关于 new Date(dateString):

1. 在webkit 内核中,所接受的时间格式如下:

        1.1  YYYY/MM/DD  (eg: 2001/01/02) 

        1.2  YYYY/MM/DD  hh:mm:ss.sss  (eg: 2001/01/02  00:00:00.000) 

   也就说在webkit内核中,不接受时间以 "/"分开的时间字符串,

2.  在chrome中,接受格式比较多,时间格式如下:

        2.1  YYYY-MM-DD

        2.2 也支持以上的webkit内的时间格式 

因此在当我传入参数:"2019-02-27 00:00:00.0" 时,在chrome下没问题,但是在safari下就无法解析

解决办法:

为了兼容两者,所以在传参前先对时间进行一次格式化。

let _fromatTime = time.replace(/-/g,"/");  

总结: 

当我发现这个坑之后,发现已经有很多人写过;自己为了记牢,做一次笔记。

以下是我的测试  new Date("2019-01-21T10:10:22.0")

1.Firefox  

2. chrome

3. QQ

4. safari 

相关文章

网友评论

      本文标题:2019-02-26 倒计时在iPhone上的变成了NAN:NA

      本文链接:https://www.haomeiwen.com/subject/oznoyqtx.html