1. 问题描述
在业务需求中,有关于时间的需求也是很常见的。比如展示当下时间、计算指定日期后的时间等等。
在开发时就遇到这么一个需求:
根据后端返回的时间
获取其中月份
假设后端返回的时间为2022-04-1 10:10:10
,然后根据这个数据获取月份:
new Date('2022-04-1 10:10:10').getMonth()+1; // 4
在chrome、安卓
均没问题,但是在Safari、IOS
遇到了问题,结果为NAN
2. 产生原因
因为js的new Date()
对于Safari、IOS
有兼容问题
3. 解决办法
修改日期的格式,使用正则替换-
。
如:
let regDate = '2022-04-1 10:10:10'.replace(/-/g,"/")
new Date(regDate).getMonth()+1;
如此即可解决!