如何解决新日期在Safari中返回无效,但在Chrome中显示?
new Date('2020-08-18 07:52')在Chrome中运行,返回了
Tue Aug 18 2020 07:52:00 GMT+0800 (Malaysia Time)
但是野生动物园给了我无效的日期?解决此问题的最佳方法是什么? Safari中的这个错误破坏了我的整个应用程序。
解决方法
不需要工具/插件/软件包,我只需要分开接收日期即可:
var apiDate = '2020-08-18 07:52'
var [ date,time ] = apiDate.split(' ')
var [ year,month,day ] = date.split('-')
var [ hour,minute ] = time.split(':')
var newDate = new Date(year,month - 1,day,hour,minute,0)
// Tue Aug 18 2020 07:52:00
由于您的日期没有时区描述,因此我对时区要小心...
注意 从上面的代码中,您可能会认为subtracting 1 from a string是无效的,但这是javascript的警告...
"08" + 1 = "081"
"08" - 1 = 7
如果格式始终相同,也可以执行以下操作:
var apiDate = '2020-08-18 07:52'
var newDate = new Date(`${apiDate.replace(' ','T')}:00`) // '2020-08-18T07:52:00'
// Tue Aug 18 2020 07:52:00
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。