new Date()转换字符串日期在iOS移动端问题

new Date() 转换带 “-” 的字符串时,在 iOS 移动端(目前仅测试了移动端)会返回invalid,当使用 dateObj调用getTime()获取时间戳时,虽不会报错,但是很有可能导致bug

const date = '2022-10-10 10:10:10'
const dateObj = new Date(date) // invalid

方法一:使用replaceAll(/\-/g)替换所有“-”

const date1 = '2022-10-10 10:10:10'
const date2 = date1.replaceAll(/\-/g, '/')	// '2022/10/10 10:10:10'

replaceAll() 方法有兼容性问题,低版本浏览器用不了

可以用粗暴点的 .split('-').join('/') 也行

方法二:使用 moment 或者 dayjs 第三方库转换

import moment from 'moment/moment'

const date1 = '2022-10-10 10:10:10'
const data2 = new Date(moment(date1))

data2.getTime()

moment() 方法转换后的对象,仍可以直接作为参数传给 new Date()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值