早上在调 ViewUI 的 DatePicker 组件参数,需要设置为某个日期之前不可选择。

由于这个日期是服务端传过来的,所以就用 Date.parse() 转换成毫秒时间戳再比较。

 

第1个问题:

服务端传过来的是 2021-05-18,用 Date.parse() 转换后多了8小时:

于是想到在日期末尾添加 00:00:00 进行解决:

在 PC 端浏览器调式OK,问题暂时解决。

 

第2个问题:

也就是在 PC 端测试好了,放到 iPhone 手机上操作,发现设置日期不可选择的那段判断代码似乎不生效。

在手机上调试发现,无论是 Date.parse('2021-05-18') 还是 Date.parse('2021-05-18 00:00:00'),返回的都是 NaN,这就奇怪了!

查阅资料后得知,原来 iPhone 手机上不支持 yyyy-mm-dd 这种格式,换成 yyyy/mm/dd 格式即可。且 yyyy/mm/dd 默认是 UTC 时区,所以末尾也不用再加 00:00:00