获取时间戳出现兼容问题(pc和安卓正常,IOS出现NaN)

这里我需要判断结束时间是否大于开始时间一个小时,不满足条件则需要另选时间,显而易见我们会把日期格式的时间转化为时间戳进行比对,测试安卓端正常,IOS却一直显示NaN,搜索资料后了解到两种方法可以解决

1.首先这是我通过uview组件u-picker的@confirm事件拿到的时间

startString = `${arg.year}-${arg.month}-${arg.day} ${arg.hour}:00:00`,

<u-picker mode="time" v-model="startPicker" :params="params" :start-year="nowYear"             @cancel="startPicker = false"@confirm="selectedStart"></u-picker>

selectedStart(arg) {
	startString = `${arg.year}-${arg.month}-${arg.day} ${arg.hour}:00:00`,
},

 正常来说这样new Date("startString").getTime()就可以拿到时间戳,但是IOS在一些特定环境下会报错。所以我用以下方法取得时间戳(IOS,使用的是国际时间不是中国时间,所以要用正则把所有“-”换成“/”)

startString = `${arg.year}-${arg.month}-${arg.day} ${arg.hour}:00:00`,
arr = startString.replace(/-/g, '/'),
start = new Date(arr).getTime(),

或者

startString = `${arg.year}-${arg.month}-${arg.day} ${arg.hour}:00:00`,
arr = startString .split(/[- :]/),
_date = new Date(arr [0], arr [1]-1, arr [2], arr [3], arr [4], arr [5]),
timeStr = Date.parse(_date),

 以上两种方式都可以兼容安卓和IOS获取到时间戳啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值