ios
的Date
对象不支持 yyyy-MM-dd
的格式
不积跬步无以至千里~ 细节决定成败,加油💪🏻
一、前言
项目中需求如下:需要将以’
-
'连接的日期格式(比如:'2022-06-30 14:30:00'
)转化为时间戳,却发现Android
获取值正常、ios
获取到的值却是NaN
。。。
二、问题分析
ios
的Date
对象不支持yyyy-MM-dd
的格式,即:
ios
下,new Date(‘yyyy-MM-dd HH:mm:ss’).getTime(); 的结果为NaN
。- 但是,
ios
的Date
对象支持yyyy/MM/dd
的格式,即:
- new Date(‘yyyy/MM/dd HH:mm:ss’).getTime();
三、解决方法
通过
.replace(/-/g,"/")
将获取到的 日期 里的’-
‘都替换成’/
',因为ios
的Date
对象不支持yyyy-MM-dd
的格式,但支持yyyy/MM/dd
的格式。即:
- new Date(‘yyyy-MM-dd HH:mm:ss’.replace(/-/g, “/”)).getTime();
四、举例
// 当前时间
const currentTime = '2022-06-30 14:30:00';
// 获取到当前时间的时间戳(ios和Android均兼容)
const currentTimestamp = new Date(currentTime.replace(/-/g, "/")).getTime();