IOS Javascript Date的坑
Date对象是JavaScript提供的日期和时间的操作接口,它有多种用法。手册上或者网上也有很多文章介绍,这里就不再次复述了。
上次遇到一个坑,这里总结下,也不是什么大问题,若是如果有经验,就不会花费很长时间去定位问题了。说下背景,一个早已经开发好的页面,在android的机器上运行的很正常,没出一点问题。某一天,产品狗跑来问我,为啥IOS上这个页面是空白的,为啥呢?到底是为啥呢?在需求忙不停的时候我还得抽空看这个外网bug,这哪算bug,要上IOS平台也没经过测试啊,什么时候被放到IOS的APP里面去了,简直不想吐槽。
在IOS APP里面debug的方法目前还没有找到合适的,借助mac机器可以做到类似chrome的remote debug功能,但也不是人人都有mac机器,屌丝开发只能借助alert了,不喜欢弹窗的可以document.write,将可疑之处全部输出,定位错误。最后发现是在new Date(''xxxx''),这个对象上报错了。
后台同学给出的字段就是2010-11-29 11:11:11这种格式的日期,严谨点应该输出时间戳,这里就不再吐槽后台同学了,比较都是一条船上的。
IOS的浏览器不能解析2010-11-29,说到底就是浏览器实现的标准不同,这样也没什么好争论。在PC时代IE带来的蛋疼的问题还少么,只能踩一个坑填一个了,解决方案在代码里面。
changed this:
var actiondate = new Date(date);
to this:
var t = date.split(/[- :]/); // Apply each element to the Date function
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
var actiondate = new Date(d);
参考:https://stackoverflow.com/questions/26657353/date-on-ios-device-returns-nan
IOS Javascript Date的坑的更多相关文章
- JavaScript Date 对象
JavaScript Date 对象 Date 对象 Date 对象用于处理日期与实际. 创建 Date 对象: new Date(). 以上四种方法同样可以创建 Date 对象: var d = n ...
- JavaScript Date对象 日期获取函数
JavaScript Date对象使用小例子: 运行结果: 总结: 1.尽管我们认为12月是第12个月份,但是JavaScript从0开始计算月份,所以月份11表示12月: 2.nowDate.set ...
- JavaScript Date(日期) 对象
日期对象用于处理日期和时间. 如何使用 Date() 方法获得当日的日期. getFullYear()使用 getFullYear() 获取年份. getTime()getTime() 返回从 197 ...
- JavaScript Date对象介绍
原文:JavaScript Date对象介绍 Date 日期和时间对象 1. 介绍 Date对象,是操作日期和时间的对象.Date对象对日期和时间的操作只能通过方法. 2. 构造函数 2.1 new ...
- JavaScript Date(日期)对象
返回当日的日期和时间 如何使用 Date() 方法获得当日的日期. getFullYear() 使用 getFullYear() 获取年份. getTime() getTime() 返回从 1970 ...
- rabbitmq在ios中实战采坑
1. rabbitmq在ios中实战采坑 1.1. 问题 ios使用rabbitmq连接,没过多久就断开,并报错.且用android做相同的步骤并不会报错,错误如下 Received connecti ...
- JavaScript&Date对象
JavaScript Date对象 <script type="text/javascript"> var date = new Date(); document.wr ...
- javascript Date对象 之 date初始化
javascript Date对象 --> 日期初始化: 总结: 日期初始化的 方式: 1. new Date( yyyy, M(+), d(+), h(+), m(+), s(+) ); 2. ...
- javascript Date对象 之 时间转字符串
javascript Date对象 --> 时间转字符串: 测试代码: <!DOCTYPE html> <html lang="en"> <he ...
随机推荐
- oracle-rman-3
http://blog.csdn.net/leshami/article/details/6032525 rman概述及体系结构 http://blog.itpub.net/23513800/view ...
- js实现表单
<html> <head> <title>表单页面</title> <meta http-equiv="Content- ...
- Docker之 数据持久化
容器中数据持久化主要有两种方式: 数据卷(Data Volumes) 数据卷容器(Data Volumes Dontainers) 数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,可以绕过UFS ...
- Python 模块collections
1.深入理解python中的tuple的功能 基本特性 # 可迭代 name_tuple = ('0bug', '1bug', '2bug') for name in name_tuple: prin ...
- makefile或shell中的一些变量
总是记不住,作个笔记 $@ 所有目标文件 $< 第一个依赖文件的名称 $? 所有的依赖文件,以空格分开,这些依赖文件的修改日期比目标的创建日期晚 $^ 所有的依赖文件,以空格分开,不包含重复的依 ...
- note 3 变量与简单I/O
变量(Variable) 用于引用(绑定对象的标识符) 语法 变量名=对象(数值.表达式等) 增量赋值运算符 count = count + 1 简写 count += 1 标识符(Identifie ...
- ubuntu下安装owncloud提示没有zip模块时
wget http://pecl.php.net/get/zip-1.13.5.tgztar -zvxf zip-1.13.5.tgzcd zip-1.13.5phpize ./configure m ...
- 异步启动solidworks
两种方法: SldWorks App = new SldWorks(); App.Visible = true; //SldWorks.Application.24是2016 // App = (Sl ...
- disabled和readonly区别
disabled和readonly这两个属性有一些共同之处,比如都设为true,则form属性将不能被编辑,往往在写js代码的时候容易混合使用这两个属性,其实他们之间是有一定区别的: 如果一个输入项的 ...
- java反射的性能问题
java反射效率到底如何,花了点时间,做了一个简单的测试.供大家参考. 测试背景: 1. 测试简单Bean(int,Integer,String)的set方法2. loop 1亿次3. 测试代码尽可能 ...