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()