zoukankan      html  css  js  c++  java
  • js 计算过去和未来的时间距离现在多少天?

    计算传入的任意一时间。计算出这个时间距离现在还有多少天!或者计算过去的时间距离现在已经过去了多少天!

    返回值有两种!

    1、负值 代表过去了多少天

    2、正值 代表距离设定的时间还有多少天

    说明:距离设定的莫一天并不包括(设定的那一天),如果需要,计算的结果加1就可以了!

    /*格式 getBeforeDate('2015,5,20') */
    /*
    * auth:120975587@qq.com
    * time:2015.5.6 9:45
    * ******************
    */
    function getBeforeDate(n){
        var now = new Date();
        var aftertime = new Date(n);
        var year = now.getFullYear();
        var mon= now.getMonth()+1;
        var day= now.getDate();
        var year_after = aftertime.getFullYear();
        var mon_after = aftertime.getMonth()+1;
        var day_after = aftertime.getDate();
        var chs = 0;
        //获取当月的天数
        function DayNumOfMonth(Year,Month)
        {
            return 32 - new Date(Year,Month-1,32).getDate();
        }
        if(aftertime.getTime() - now.getTime() < 0){
            var temp1 = day_after;
            var temp2 = mon_after;
            var temp3 = year_after;
            day_after = day;
            mon_after = mon;
            year_after = year;
            day = temp1;
            mon = temp2;
            year = temp3;
        }
        if(year == year_after){//不跨年
            if(mon == mon_after){//不跨年不跨月
                chs += day_after-day;
            }else{//不跨年跨月
                chs += DayNumOfMonth(year,mon)- day+1;//加上第一个不满的
                for(var i=1;i< mon_after-mon;i++){
                    chs += DayNumOfMonth(year,mon+i);
                }
                chs += day_after-1;//加上
            }    
        }else{//存在跨年
            chs += DayNumOfMonth(year,mon)- day+1;//加上开始年份不满的一个月
            for(var m=1;m<12-mon;m++){
                chs += DayNumOfMonth(year,mon+m);
            }
            for(var j=1;j < year_after-year;j++){
                if((year+j)%400 == 0 || (year+j)%4 == 0 && (year+j)%100 != 0){
                    chs += 366;
                }else{
                    chs += 365;
                }
            }
            for(var n=1;n <= mon_after;n++){
                chs += DayNumOfMonth(year_after,n);
            }
            chs += day_after-1;
        }
        if(aftertime.getTime() - now.getTime() < 0){
            return -chs;
        }else{
             return chs;
        }
    }
  • 相关阅读:
    JavaScript And Ajax(JavaScript 基本示例)
    JavaScript And Ajax(JavaScript 本质)
    LINQ(LINQ to Entities)
    XML (转换)
    XML 搜索和验证(XmlDocument、XPath to XmlDocument、LINQ to XDocument)
    图形、GDI + 和图表(Chart 控件)
    XML(简介)
    图形、GDI + 和图表(在网页上嵌入动态图形)
    网站导航(URL 映射和路由)
    JavaScript And Ajax(在客户端回调中使用 Ajax)
  • 原文地址:https://www.cnblogs.com/7qin/p/15465320.html
Copyright © 2011-2022 走看看