2019年1月1日凌晨收到业务电话,生产环境显示不正确,前端一看,是$date.formatDate()函数读取错误,明明应该是20190101,不知道为何是20180101,不多说,贴代码。
旧代码
如图,在chrome调试模式可以看到curDate是2019 Jan 01,但是tempCurDate变成了2018-01-01。
初步猜测可能是时差的问题,中国东八区时间2019年1月1日凌晨换算成标准时间应该还不到2019年,可能formatDate读取了2018年的年份和当前的月份和时间,重新写下formatDate函数,不用getYear,用getFullYear()函数。
新代码
改完发给运维,运维没权限要第二天早上才能升级,于是我就回去继续睡觉,第二天起来一看,8点多,代码还没更新,但是显示正常了,感觉真的是时差的问题。把手机时间调成1月1日8点前读取到的都是2018-01-01,过了8点就显示为2019-01-01了,还是自己经验少,踩了坑。
网友评论