日期的兼容性
- iOS下
new Date('2020-03-11 00:00:00')
不生效,可以使用new Date(2020,03,11,0,0,0')
替代,也可以对日期进行date.replace(/-/g, '/')
处理。
/**
* 在保险期为1年的规则下,获取终保日期的值
* @param {起保日期} start_date
*/
const getEndDate = (start_date) => {
if (!start_date) {
return '';
}
//eg:start_date='2020-03-11 00:00:00' =>'2021-03-11 00:00:00'
let tempDate = start_date.replace(/^[1-9][0-9]{3}-/g, `${Number(start_date.substring(0, 4)) + 1}-`);
//iOS不兼容new Date('2020-03-11 00:00:00'),可以使用new Date(2020,03,11,0,0,0')
//也可以使用 replace(/-/g, '/')
tempDate = tempDate.replace(/-/g, '/');
//eg:=>'2021-03-10 23:59:59'
tempDate = new Date(new Date(tempDate).getTime() - 1);
return dateFormat(tempDate);
}
/**
* 对日期进行格式化:yyy-mm-dd hh:mm:ss
* @param {日期类型的日期} date
*/
const dateFormat = (date) => {
if (!date) {
return '';
}
if (!(date instanceof Date)) {
return date;
}
var y = date.getFullYear();
var mon = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours();
var m = date.getMinutes();
var s = date.getSeconds();
h = (h < 10) ? ('0' + h) : h;
m = (m < 10) ? ('0' + m) : m;
s = (s < 10) ? ('0' + s) : s;
return `${y}-${mon}-${d} ${h}:${m}:${s}`;
}
事件兼容性
ios下beforeunload
事件废弃了,需要使用pagehide
事件替代。
window.addEventListener("beforeunload",()=>{
setRootSessionItem(this.$store.state);
});
//IOS废弃了beforeunload事件,故用下面的代替
window.addEventListener("pagehide",()=>{
setRootSessionItem(this.$store.state);
})
目前遇到的就这几个,持续更新~~~