关于 Date() 函数在 iOS 中的一个小坑
来源:互联网 发布:黑暗之魂2猎龙枪数据 编辑:程序博客网 时间:2024/05/18 03:25
关于 Date() 函数在 iOS 中的一个小坑
bug
今天遇到了一个诡异的 bug 。一个 Vux
的日期选择组件在 PC 端和安卓端都能正常显示和使用,而在 iOS
端却不能正常出现。经过漫长的调试,终于发现问题出在这一行代码上:
var startDate = new Date('2017-5-3')
这行代码在 PC 端和安卓端都是正常的,而在 iOS
端则会提示 Invalid Date
无效日期。
原因
new Date(dateString)
实际上是调用了 Date.parse()
这个函数。关于这个函数, ECMAScript
规范规定:
如果一个字符串不符合标准格式,则函数可以使用任何由引擎决定的策略或解析算法。
Date.parse()
对于因包含有无效元素而无法识别的ISO
格式字符串或者日期应该返回NaN
。
简单的说这个函数在不同的浏览器引擎中会存在偏差,导致对字符串的解析不一致或部分浏览器无法解析。问题应该就是出在这里!是 Safari
不能识别这串字符串。
经过测试,将代码改为如下样子:
var startDate = new Date('2017-05-03')
这样代码就可以 iOS
端正常运行了。坑爹的 Safari
。
参考链接
Date.parse - JavaScript | MDN
0 0
- 关于 Date() 函数在 iOS 中的一个小坑
- JavaScript Date对象在ios中的坑
- 关于date的一个小问题
- 关于一个小例子中的list()和explode()函数
- SQLite 在 iOS 中的简单使用(一个小例子)
- 关于cocos2dx3.0在eclipse中的一个小编译问题
- java中的关于Date类中的一个程序
- LigerUI 控件中的date一个小BUG处理。
- JavaScript中的Date对象在Safari与IOS中的“大坑”
- JavaScript中的Date对象在Safari与IOS中的“大坑”
- 关于Unity5.3.4版本GetComponentsInChildren函数的一个小坑
- JS的Date对象在Safari与IOS中的兼容问题
- 关于IOS 开发 中的一些小技巧
- 一个关于printf()函数的小程序
- 矩阵在编程中的一个小应用
- 关于Date的一个问题
- 关于 hibernate 中的Date 类型
- ORCALE中的一个小坑
- 1006. Sign In and Sign Out (25)
- vmstat含义说明
- 分层
- 浅谈Git
- redis的安装
- 关于 Date() 函数在 iOS 中的一个小坑
- Python Thrift示例
- 剑指offer——和为S的连续正数序列
- Android系统下在te文件中为指定服务添加sepolicy权限
- 链式运动框架
- spring源码系列-1
- Unity动画控制组件UIPlayTween
- Javascript学习笔记
- Mac hadoop伪分布式安装