时间戳
时间戳,指的就是Unix时间戳(Unix timestamp)。它也被称为Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。因此,严格来说,不管你处在地球上的哪个地方,任意时间点的时间戳都是相同的。
1.使用new Date()获取时间,取的时间的设备是什么?
如果是使用xcode给真机装的debug包,它请求的时间是电脑的本地时间,而不是请求的手机的本地时间.
2.new Date('2017-09-13 00:13:28') debug 环境 ok
release 为invalid。
ios 需要使用new Date('2017/08/01 00:00:00');
- 根据一个给定的时间 和当前时间做对比的时候,一定不能使用yyyy-MM-DD 格式 而要使用yyyy-MM-DD 这种格式
因为一方面 yyyy-MM-DD 格式在Safari 上有兼容性问题,另一方面 还有时区的问题
时区问题和兼容性问题对比
Chrome 浏览器
new Date('2020-01-03')
Fri Jan 03 2020 08:00:00 GMT+0800 (中国标准时间)
new Date('2020-01-03 00:00:00')
Fri Jan 03 2020 00:00:00 GMT+0800 (中国标准时间)
new Date('2020/01/03')
Fri Jan 03 2020 00:00:00 GMT+0800 (中国标准时间)
new Date('2020/01/03 00:00:00')
Fri Jan 03 2020 00:00:00 GMT+0800 (中国标准时间)
Safari 浏览器
> new Date('2020-01-03')
< Fri Jan 03 2020 08:00:00 GMT+0800 (CST)
> new Date('2020-01-03 00:00:00')
< Invalid Date
> new Date('2020/01/03')
< Fri Jan 03 2020 00:00:00 GMT+0800 (CST)
> new Date('2020/01/03 00:00:00')
< Fri Jan 03 2020 00:00:00 GMT+0800 (CST)
由上面可以直观看出 使用yyyy/MM/DD 最为安全。
下面是平台兼容性测试结果,可以使用如下的方法,但是建议使用moment.js
网友评论