zoukankan      html  css  js  c++  java
  • js, Date.parse firefox 兼容

    Date.parse(dateVal);

    这个方法很常用,parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。

    可以验证输入日期是否窜在,不存在则返回NaN;可以比较两个日期的先后,或计算两个日期相差的天数。

    我的需求是根据两个日期,获得日期间隔的每一天

    var sTime = '2014-05-06';
    var eTime = '2014-05-10';
    
    function gdate(datestr){
        var temp = datestr.split('-');
        return Date.parse(temp[1]+'-'+temp[2]+'-'+temp[0]);
    }
    
    function gd(ts){
        ts = new Date(ts);
        with(ts){
            var y = getFullYear(),
                m = getMonth()+1,
                d = getDate();
            if(m < 10) m = '0'+m;
            if(d < 10) d = '0'+d;
            return y+'-'+m+'-'+d;
        }
    }
    
    var s = gdate(sTime),
        e = gdate(eTime);
                        
    console.log(s)
    console.log(e)
    
    while(s < e){
        console.log(gd(s));
        s+=3600*24*1000
    }

    在谷歌,ie上都行,就火狐无效,最后找的个细节。parse方法要求短日期可以使用"/"或"-"作为分隔符,但是必须用月/日/年的格式来表示,可以这样"05-06-2014"或"05/06/2014",问题就来了,"05-06-2014"时,firefox的返回值总是NaN,换成另一中格式就可以正常解析了,开始还以为是代码哪里出问题了,唉,细节啊!

  • 相关阅读:
    深入了解Struts2返回JSON数据的原理及具体应用范例
    Struts国际化
    LeetCode Balanced Binary Tree
    LeetCode Triangle
    Binary Tree Level Order Traversal
    Pow(x,n)
    Symmetric Tree
    LeetCode Word Search
    LeetCode Insert Interval
    Maximum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/hailspace/p/3711705.html
Copyright © 2011-2022 走看看