JavaScript中的Date对象在Safari与IOS中的Invalid Date

当我们用JavaScript实例化一个日期对象时,我们可以这样用:


var date =new Date();
 上面这段代码是获取当前日期,这段代码在Firefox、Chrome、Safari浏览器中都可以运行。但是如果我想根据字符串获取日期,问题就来了。看下面代码。


var date =new Date("2016-05-31 08:00");
 这段代码是获得字符中指定的日期,它Firefox、Chrome中就能运行,但是放在Safari就会报错,错误是NaN,意思是Not a Number。就是因为这个错,苹果手机不能正常运行我开发的这个界面,当时都快郁闷死了,我写了300行js啊,几乎都与时间有关,不是取值就是赋值,要不就是计算,如今IOS不支持。。。。。。。
 在网上找了一下,将代码这样写就好了:


var date =new Date("2016/05/31 08:00");
 这样Android和IOS就能共用了,写了个函数,替换一下!


function GetDateDiff(startDiffTime, endDiffTime) {
            //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 
            startTime = startDiffTime.replace(/\-/g, "/");
            endTime = endDiffTime.replace(/\-/g, "/");
};
 问题二:
  HTML5中新增了日历控件,如果将控件的type=“datetime-local”,如果是Chrome,控件的日期显示格式是2016/05/30 08:00 ,如果是Safari,日期的显示格式是:2016-05-31T08:00,当我们用JQuery取值赋值的时候,就必须用这种方式才能赋值:假如说这个日历控件的id是timeDate,代码如下:


$("#timeDate').val("2016-05-30T08:30");
  用$("#timeDate').val("2016/05/30 08:30");就会报错。
--------------------- 

原文:https://blog.csdn.net/zhoukun1008/article/details/51537862 

猜你喜欢

转载自blog.csdn.net/qq_35081500/article/details/89682680