uniapp踩坑之IOS平台时间戳问题

524 阅读1分钟

前言

今天做了一个需求,要比对当前和服务器给的时间,服务器给的时间格式是 "2022-6-14 10:03:45", 使用 new Date(str)获取时间戳时,H5和安卓都是正常的,只有IOS平台显示是NAN

网上搜素了一下,原因是 IOS系统只识别 " / " 不识别 " - ".

解决

知道了原因我们就好解决问题了。

首先判断当前是否是ios平台,如果是正则替换,否则的话展示原来的格式

var date = "2022-6-14 10:03:45"

let platform = uni.getSystemInfoSync().platform

// 判断当前是否是`ios`平台,如果是正则替换,否则的话展示原来的格式
const goodsDate = platform == 'ios' ? new Date(date.replace(/-/g, '/')) : new Date(date)

//解决
var newDate = new Date(goodsDate);