AppleIOSparsingthedateinISO8601format(withornotwithoutZattheend)leadinganincorrecttimezoneproblem时间解析有bug,解析成UTC时间,导致国内时差8小时.例如:2022-09-19T13:00:00对应于MonSep19202213:00:00GMT+0800(中国标准时间)2022-09-19T13:00:00Z对应于MonSep19202221:00:00GMT+0800(ChinaStandardTime)如图:但是在IOS环境下,总是解析为MonSep19202221:00:00GMT+0800(ChinaStandardTime),这样就出现问题了。这个问题可以通过修改Date构造函数来解决:if(newDate('2022-02-02T08:00:00').valueOf()==newDate('2022-02-02T08:00:00Z')。valueOf()){//判断环境window.Date=classIosDateextendsDate{constructor(v1,v2,v3,v4,v5,v6,v7){varargLen=arguments.length;如果(argLen===0)超级();否则如果(argLen===1)超级(v1);否则超级(v1,v2,v3,v4,v5,v6,v7);如果(argLen===1&&/\d+\-\d+\-\d+T\d+:\d+:\d+\.?\d*$/.test(v1)){this.setMinutes(this.getMinutes()+newDate().getTimezoneOffset())}}}}
