date ios_ios new date(date) - CSDN
  • new Date()在IOS上的兼容问题 2018年11月26日 19:16:59张小兑阅读数:151 今天遇到一个特别大的坑,让我郁闷了一下午,感谢后台和我的朋友李糖胡一直陪伴着我,帮我解决bug,这个坑是什么呢?是什么呢?是什么呢?...

    new Date()在IOS上的兼容问题

    2018年11月26日 19:16:59 张小兑 阅读数:151

    今天遇到一个特别大的坑,让我郁闷了一下午,感谢后台和我的朋友李糖胡一直陪伴着我,帮我解决bug,这个坑是什么呢?是什么呢?是什么呢?

    最近在做一个小程序里的一个活动功能,然后我想判断在11月30号18:00之后就不让用户请求某一个接口了,然后我就写了如下代码

    const currentTime = new Date().getTime(); // 获取当前时间的时间戳
    const stringTime = new Date('2018-11-30 18:00:00');
    const time = new Date(stringTime).getTime(); // 2018年11月30号的时间戳
    if (currentTime <= time) {
    我在这里调接口
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这代码有什么问题呢,一开始我把这个小程序上线了,结果上线之后测试时,一开始没有发现问题,因为要么是老用户(只有新用户才会出现我想要测试的结果),要么是安卓手机,后来李糖胡出现了,她的手机竟然没有出现正常的结果,紧接着后台说他朋友也有同样问题了,还是苹果手机,然后我就奇了怪了,为什么呢,经过我们的齐心协力,我发现会不会是我写的这个时间戳有问题,结果真的是有问题,不进行时间戳判断就好了。然后因为紧急情况我就先把时间判断去掉将小程序提交审核了。后来去网上搜了一下。

    那么,问题出在哪里呢,那个2018-11-30 18:00:00,这种格式ios在getTime()时转换不了时间戳,所以要做兼容。。。

    把格式写成2018/11/30 18:00:00就可以了。

    展开全文
  • new Date(“2018-12-12 00:00:01”).getTime()获取时间戳的时候在ios下面为NaN. 经过排查发现 new Date("2018-12-12 00:00:01") /* *chrome浏览器以及安卓下面都可以正常输出-&gt;Wed Dec 12 2018 ...
    • new Date(“2018-12-12 00:00:01”).getTime()获取时间戳的时候在ios下面为NaN.

    经过排查发现

    new Date("2018-12-12 00:00:01")
    /*
    *chrome浏览器以及安卓下面都可以正常输出->Wed Dec 12 2018 00:00:01 GMT+0800 (中国标准时间)
    *在ios下面输出是Invalid Date。因为ios下面必须传new Date("2018/12/12 00:00:01"),这种格式的日期参数
    */
    /*
    *所以在ios下面就相当于是new Date("Invalid Date").getTime(),所以自然输出的结果是:NaN
    */
    new Date("2018-12-12 00:00:01").getTime()//NaN
    
    • 解决方法

    其实很简单。但是不知道的人还真会有点折腾。直接将时间格式化为“YYYY/MM/DD HH:MM:SS”即可。这里也推荐一款轻量级的日期处理工具库 date-fns,不过好像需要梯子才可以访问。

    	new Date("2018/12/12 00:00:01").getTime()//完美解决。
    
    展开全文
  • 如下代码,在IOS safari浏览器下返回NaN,在安卓浏览器下正常: var datetime = '2017-12-25 11:02:27'; var time = new Date(datetime ); console.log("打印:" + time); 返回结果:NaN 将-替换成...
    如下代码,在IOS safari浏览器下返回NaN,在安卓浏览器下正常:
    var datetime = '2017-12-25 11:02:27';
    var time = new Date(datetime );
    console.log("打印:" + time);
    返回结果:NaN

    将-替换成/即可:

    var datetime = '2017/12/25 11:02:27';
    展开全文
  • html5中new Dateios中出现Invalid Date

    千次阅读 2015-12-04 17:49:49
    这个过程中遇到一个问题,就是new Date("2015-12-04")形式,ios版本解析不了,出现Invalid Date. 我勒个擦,居然还能这样。于是网上找资料,找到这样一篇文章。 在做Mobile终端的Website开发中,我遇到一个...

    1、在做html5开发时,html5需要嵌入在手机中,当然有ios版本的。这个过程中遇到一个问题,就是new Date("2015-12-04")形式,ios版本解析不了,出现Invalid Date.我勒个擦,居然还能这样。于是网上找资料,找到这样一篇文章。

    在做Mobile终端的Website开发中,我遇到一个很懊恼的问题。
         在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象。
         但是在IOS5版本里面的Safari解释new Date('2013-10-21') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date"
         后来我在网上查找了资料,原来是低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法,
         而它支持的写法为new Date('2013','10','21'),这样写就能解决"Invalid Date"的问题,能返回一个Javascript Date回来了。
         但是随之而来的问题有出现了,Date是返回过来了,可是这个Date对象中方法返回的数据可不是我想要的,返回的数据全都不正确。具体是什么原因我也不太清楚,还请知道原理的大虾们指点下!
         现在返回过来的Date对象.getMonth()总要比正常的要多一个月!还有.getDay()返回的星期几也不正确!╮(╯▽╰)╭懊恼啊,折磨啊。。。。
         我都开始骂开发Safari的这帮人了,不过骂归骂问题还是要解决的,要不工资就木有了!呵呵!
         接着我查了很多国外的技术blog,终于找到了解决方案,原来想要IOS5中的Safari能正确解析new Date()那么必须这么写
         new Date('2013/10/21');
          
           这样就ok了

    转载的地址:点击打开链接


    展开全文
  • IOS的new Date()问题

    2018-11-01 15:46:36
    IOS版本:11、12 出现的问题:new Date(&quot;2018-11-31 11:00:32.232&quot;)调用无法获取到时间 问题原因:IOS的new Date()无法解析&quot;2018-11-31 11:00:32.232&quot;格式的时间,只能解析格式...
  • Js new Date()方法移动端兼容 ios

    千次阅读 2020-06-21 15:47:01
    // 这种格式 ios不兼容使用new date() &amp;amp;amp;gt;==&amp;amp;amp;gt; NaN str = str.replace(/\-/g, &amp;amp;quot;/&amp;amp;quot;); // 兼容ios '2019/11/09 10:13:21' let iosstr = '...
  • 对 input type date 使用 placeholder 的目的是为了让用户更准确的输入日期格式,iOS 上会有 date 不会显示 placeholder 文字,但是为了统一表单外观,往往需要显示。Android 部分机型没有 date 也不会显示 ...
  • var date =new Date(); 上面这段代码是获取当前日期,这段代码在Firefox、Chrome、Safari浏览器中都可以运行。但是如果我想根据字符串获取日期,问题就来了。看下面代码。 var date =new Date("2016-05-31 08:00")...
  • new Date("xxxx-xx-xx")).getTime()这样在安卓和PC浏览器都能正确获取,唯独在ios端没能正确获取。 然后在ios端真机上断点打印一下(new Date("xxxx-xx-xx xx:xx")).getTime(),返回了NaN 百度后发现ios端的new Date...
  • 在写一个倒计时页面时遇到了问题,在使用new Date('2018-08-09 11:59:59')格式化时间后,ios端页面显示invalid Date。因为'2018-08-09 11:59:59'是从api获取的数据,故需要先将数据格式替换为2018/08/09 11:59:59来...
  • 因为是移动端的所以需要兼容ios和安卓系统,所以就需要修改样式啦,代码如下: input[type="date" i]{ width: 2.2rem; line-height: 2.2rem; font-size: 0.8rem; height: 100%; backgro...
  • new Date()兼容ios

    2018-01-04 17:16:28
    最近遇到了台历的组件在安卓手机上显示正常,但是苹果手机上根本alert不出值的问题 这个讲的比较细致,然后我就拿过来了~ ... 在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new
  • iOS中 new Date() 返回 NaN

    2017-07-17 01:04:02
    iOS中 new Date 格式问题问题项目中某个地方用到了倒计时,因此打算通过 new Date() 函数实现。但在 iOS 真机测试的时候,显示的结果不符合预期。通过调试发现 iOS 中 new Date('2017-01-01') 返回的结果是 NaN,...
  • ios端关于Date格式的兼容

    千次阅读 2018-11-14 11:14:50
    前段时间做的一个集助活动,其中有一个倒计时,需要计算两个时间节点之间的差值,然后转化为时分秒,我用的是将两个时间节点传入new Date(),然后getTime()计算差值,代码大致如下: // 仅是两个时间点是同一天的...
  • 解决方法1:new Date("2018-06-14 00:00:00".replace(/-/g,'/')).getTime()解决方法2:new Date("2018/06/14 00:00:00").getTime()若按照正常...ios中显示NaN,若按照 new Date('2018','06','14...
  • IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象。 但是在IOS5版本里面的Safari解释new Date('2013-10-21') 就不正确,在IOS5的Safari中返回的永远是...
  • js new Date() 在ios系统中的转换问题

    千次阅读 2018-03-08 17:18:27
    var endDate = new Date('2018-3-8 17:11:00'); endDate.getTime(); 转换有问题 ,后来查阅了资料发现如下写法可以解决 var endDate = questionBase.startTime; var arrDatetime = endDate.split(" "...
  • new Date()设置日期在IOS的兼容问题

    万次阅读 2017-09-07 16:11:45
    new Date()在ios的兼容问题
  • iOSdate和string互转

    千次阅读 2017-04-03 16:14:17
    必须知道的内容 G: 公元时代,例如AD公元 yy: 年的后2位 yyyy: 完整年 MM: 月,显示为1-12 MMM: 月,显示为英文月份简写,如 Jan ...MMMM: 月,显示为英文月份全称,如 Janualy ...EEEE: 全写星期几,如S
  • 可是当我们做的H5页面放到移动端运行时,会发现在IOS中不兼容,返回valid Date,包括在Safari浏览器里也是如此。 但是在安卓端的webview和浏览器都是没有问题的,经查询资料,发现IOS中不支持“-”连接日期 没办法...
1 2 3 4 5 ... 20
收藏数 48,935
精华内容 19,574
关键字:

date ios