date ios new 兼容_new Date() ios兼容问题

最近在做一个移动端的项目 ,使用到了一个时间选择的插件,显示时间方式 2017-11-05 08:00, 但是向后台传递时间时需要为new Date()格式。

代码:

var serviceTime = new Date("2017-11-05 08:00");

本来没有什么关系 ,在Android端也显示也很好 。但是在一台ios机上突然不能使用了 ,后台总是收不到数据。

在测试时发现 ios 在转换后 显示:

怎么也不能进行转换,之后在网上查询了一下,发现这个问题居然是new Date() 日期转时间格式的兼容问题。只需要这样写:

var serviceTime = new Date("2017/11/05 08:00");

我在网上查找了资料,原来是低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法.

在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象。

但是在IOS5版本里面的Safari解释new Date('2013-10-21') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date"。

并且这并不是只有在ios 也是就Safari浏览器中才有的问题,而是在IE ,Firefox中也是不能很好地识别new Date('2013-10-21')写法的日期转换,

只有在chrome中可以很好运用,所以如果想更好的运用日期对象,最好做一下时间格式的处理:

functiongetDate(time) {//将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式

time = time.replace(/\-/g, "\/");returntime;

};

这样就可以有一个 可以公用的时间格式了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值