开发「bufpay.com 个人即时到账收款平台」后台套餐修改功能的时候碰到一个 new Date() bug。
既在 Safari 里面不支持
var t = new Date('2018-06-15 00:00:00');
这样的初始化,只支持
var t = new Date('2018-06-15');
和
var t = new Date('2018-06-15T00:00:00');
但是在 Chrome 里面,以上三种都是支持的。这个地方需要注意,很容易被忽略。
这个 bug (应该也不能算 Safari 的 bug)应该是 Chrome 做了兼容,Safari 是符合 ECMAScript IOS 8601 关于时间的格式定义的。
其中 T 表示 “时间的开始” the beginning of the time.