前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IOS时间格式问题调试与解决

IOS时间格式问题调试与解决

作者头像
zx钟
发布2022-01-18 15:58:12
8920
发布2022-01-18 15:58:12
举报
文章被收录于专栏:测试游记测试游记

问题现象

在测试IOS中一个H5页面的时候发现保存时间接口传递的参数是null

但是在Web-Chrome和安卓上测试发现是正常的

原因分析

代码语言:javascript
复制
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

代码语言:javascript
复制
xcrun simctl list

打开设备

代码语言:javascript
复制
open -a Simulator --args -CurrentDeviceUDID xxxx

完整的语句为:

代码语言:javascript
复制
open -a Simulator --args -CurrentDeviceUDID 136437DC-4D51-4628-B8CF-A4A3F3DFF1B0

image

打开电脑上的Safari浏览器

开发-模拟器中打开Safari浏览器 页面检查器

image_1

image_2

在控制台输入刚才出问题的代码

image_3

代码语言:javascript
复制
> new Date("2022-01-17 10:00").getTime()
< NaN

同样的操作在Chrome上操作

image_4

判断环境并转化格式

判断当前环境

使用navigator.userAgent可以拿到当前请求的userAgent

代码语言:javascript
复制
let ua = navigator.userAgent
let isIOS = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)

根据isIOS就可以判断,当前环境是否是IOS了,然后就可以给出我们需要的时间格式了

代码语言:javascript
复制
let formatter = isIOS ? 'YYYY/MM/DD HH:mm' : 'YYYY-MM-DD HH:mm'

在转化时间戳之前对格式进行处理

代码语言:javascript
复制
let t = "2022-01-17 10:00"
t = isIOS ? t.replace(/-/g,'/') : t
let new_t = new Date(t).getTime()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试游记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题现象
  • 原因分析
  • 调试方案
    • 查找可用的苹果模拟器并打开
    • 判断环境并转化格式
      • 判断当前环境
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档