zoukankan      html  css  js  c++  java
  • js倒计时功能中newData().getTime()在iOS下会报错,显示 nan

    最近在做移动端项目 ,有个设置开始时间和结束时间,然后倒计时 这个活动还有几天。在安卓上能正确转换时间,但在iOS上不能显示,为NaN-NaN1-NaN  Invalid Date,

      就好比new Date('2017-09-18 14:58:32').getTime();      /  /在ios上死活拿不到时间戳显示NaN

     我也查阅了相关的资料,后来发现:

                原来是低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法,

                 而它支持的写法为new Date('2013','10','21'),这样写就能解决"Invalid Date"的问题

      所以想要正确显示时间在iOS上,应该这么写

      new Date("2010-03-15 10:30:00".replace(/-/g,'/')).getTime();   解决了问题!! 

       然后附上 时间相差的倒计时代码

    //倒计时
    setInterval( function()
    {
    //设置开始时间
    var startTime = ($dp.$( 'time1' ).value.replace( /-/g, '/' ));
    // 当前时间
    var nowTime = new Date().getTime();
    if( new Date( startTime ).getTime() - nowTime > 0 )
    {
    $( "#timeText" ).removeClass( "none" ).html( "未开始" );
    $( ".downTime ul" ).addClass( "none" );
    }
    else
    {
    $( ".downTime ul" ).removeClass( "none" );
    $( "#timeText" ).addClass( "none" );
    var endTime = new Date( $dp.$( 'time2' ).value.replace( /-/g, '/' ) );
    // 相差的时间
    var t = endTime.getTime() - nowTime;
    if( t <= 0 )
    {
    $( ".downTime ul" ).addClass( "none" );
    $( ".downTime #timeText" ).removeClass( "none" ).html( "已结束" );
    return false;
    }
    var d = Math.floor( t / 1000 / 60 / 60 / 24 );

    var h = Math.floor( t / 1000 / 60 / 60 % 24 );
    var i = Math.floor( t / 1000 / 60 % 60 );
    var s = Math.floor( t / 1000 % 60 );
    $( "#d" ).html( d );
    $( "#h" ).html( h );
    $( "#i" ).html( i );
    $( "#s" ).html( s );
    }

    }, 100 );
  • 相关阅读:
    SQL语句调优
    Oracle start with connect by prior
    博客园如何转载博客
    初遇java.lang.NoClassDefFoundError
    二叉搜索树、B树、B+树、B*树
    初见POJO
    win10系统Myeclipse装载tomcat7.0x遇见的新问题
    Myeclise新导入项目遇到的红色感叹号和红色叉问题
    SSM框架中文乱码解决方案
    第五天
  • 原文地址:https://www.cnblogs.com/yf-html/p/7573226.html
Copyright © 2011-2022 走看看