问题现象
在测试IOS中一个H5页面的时候发现保存时间接口传递的参数是null
但是在Web-Chrome和安卓上测试发现是正常的
原因分析
new Date("2022-01-17 10:00").getTime()
也就是在执行上面代码的时候,返回的内容是null
调试的时候看到提示:
Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
找了下相关文档:
IOS需要使用
/
连接年月日安卓需要使用
-
连接年月日
IOS设备在需要对时间戳进行判断的时候,如果不是使用的/
则会出现问题,所以需要进行格式转换
调试方案
每次修改代码后重新部署后,然后使用IOS设备进行测试非常的不方便
所以如果有Mac电脑的话,直接使用模拟器进行测试
查找可用的苹果模拟器并打开
找到可以用的模拟器,记住它的udid,例如136437DC-4D51-4628-B8CF-A4A3F3DFF1B0
xcrun simctl list
打开设备
open -a Simulator --args -CurrentDeviceUDID xxxx
完整的语句为:
open -a Simulator --args -CurrentDeviceUDID 136437DC-4D51-4628-B8CF-A4A3F3DFF1B0
![image bff42c649522f00246f8cc15570e5d83.png](https://i-blog.csdnimg.cn/blog_migrate/1ceed6933f8a84dbfbb6b300b271b62b.png)
打开电脑上的Safari浏览器
在开发
-模拟器
中打开Safari浏览器 页面检查器
![image_1 955321c5862bc29a17cd3bd6eed2be15.png](https://i-blog.csdnimg.cn/blog_migrate/a89a298a087c19356d95cc900daa4363.png)
![image_2 1b2bcbc02efa3603ee5be9eb5ffe2b5b.png](https://i-blog.csdnimg.cn/blog_migrate/8b8c960e6c409327fc7d2883757eb7e6.png)
在控制台输入刚才出问题的代码
![image_3 16e05dec6f9cd05122c2616cf7b01263.png](https://i-blog.csdnimg.cn/blog_migrate/c7c32575da971d7e5a6e59e4f0f37c21.png)
> new Date("2022-01-17 10:00").getTime()
< NaN
同样的操作在Chrome上操作
![image_4 10adb3439324492244dcb16d52919fc4.png](https://i-blog.csdnimg.cn/blog_migrate/145958cebd0b5ea58d0ffa4163614a42.png)
判断环境并转化格式
判断当前环境
使用navigator.userAgent
可以拿到当前请求的userAgent
let ua = navigator.userAgent
let isIOS = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
根据isIOS
就可以判断,当前环境是否是IOS了,然后就可以给出我们需要的时间格式了
let formatter = isIOS ? 'YYYY/MM/DD HH:mm' : 'YYYY-MM-DD HH:mm'
在转化时间戳之前对格式进行处理
let t = "2022-01-17 10:00"
t = isIOS ? t.replace(/-/g,'/') : t
let new_t = new Date(t).getTime()
zx钟诚挚邀请您注册并体验 wolai:
https://www.wolai.com/signup?invitation=AZRMVSI
https://www.wolai.com/mzwH2sMvxHGUirHwWPP2c5