日期函数

  日期的获取
     var d = new Date()
     console.log(d);
    
     2019年8月12号 星期三 19:12:23
     获取方法:get系列
     console.log(d.getFullYear());       //
     console.log(d.getMonth());          //
     console.log(d.getDate());           //

     console.log(d.getDay());            //星期

     console.log(d.getHours());          //小时
     console.log(d.getMinutes());        //
     console.log(d.getSeconds());        //
     console.log(d.getMilliseconds());   //毫秒

     console.log(d.getTime());           //毫秒数,从1970年1月1号0:0:0到这一刻的毫秒数,时间戳

例:获取当前时间,以对象的形式输出:

 function createDate(){
        var d = new Date();
        var y = d.getFullYear();
        var m = d.getMonth();
        var mydate = d.getDate();
        var myday = d.getDay();
        var h = d.getHours();
        var mts = d.getMinutes();
        var s = d.getSeconds();

        switch(myday){
            case 0:myday = "星期日";break;
            case 1:myday = "星期一";break;
            case 2:myday = "星期二";break;
            case 3:myday = "星期三";break;
            case 4:myday = "星期四";break;
            case 5:myday = "星期五";break;
            case 6:myday = "星期六";break;
        }

//         return y + "年" + createZero(m+1) + "月" + createZero(mydate) + "日 " + myday + " " + createZero(h) + ":" + createZero(mts) + ":" + createZero(s);  //自己排好样式输出

        var obj={
            year:y,
            month:createZero(m+1),
            date:createZero(mydate),
            day:myday,
            hours:createZero(h),
            minutes:createZero(mts),
            seconds:createZero(s)
        };
        console.log( obj.year)

    }
    
    function createZero(n){
        return n<10 ? "0"+n : n;
    }


    createDate()

创建时:

 直接设置:创建日期时传参:
    //             字符:一个参数;可以设置局部;没有设置的部分清0;年月日的部分之间,可以用-.,/隔开;超出上限,Invalid Date对象(意外的日期对象)
                 var d = new Date("2008.8.8 20:8:8");
                 var d = new Date("2008.8.8");
                 var d = new Date("2008/8/8");
                 var d = new Date("2008,8,8");
                 var d = new Date("2008-8-8");
                 var d = new Date("2008-13-8");
                 console.log(d)
 数值设置:多个参数,每一部分都是一个参数;月份从0开始计算;可以设置局部;没有设置的部分清0;超出上限,向前进1
                 var d = new Date(2008,8,8,8,8,8);
                 var d = new Date(2008,7,8,8,8,8);
                 var d = new Date(2008,7,8);
                 var d = new Date(2008,16,8);
                 console.log(d)
创建后:
//
方法设置:set系列:接收的是数值;月份从0开始;没有设置的部分是当前时间;超出上限,进1 var d = new Date() // 分部设置,指定的值 d.setFullYear(2008) d.setMonth(16) d.setDate(8) d.setHours(8) d.setMinutes(8) d.setSeconds(8) d.setMilliseconds(8) // d.setTime(100000000000) //时间戳可以覆盖上面的
    // 时间戳设置:以计算机元年开始经过了的毫秒数



例题:计算两个时刻的差值:

 function dateDiff(d1,d2){
        var oldDate = new Date(d1);
        var newDate = d2 ? new Date(d2) : new Date();

        var t = Math.abs(oldDate.getTime() - newDate.getTime());

        var d = parseInt(t/1000/60/60/24);
        var h = parseInt((t - d*24*60*60*1000)/1000/60/60);
        var m = parseInt((t - d*24*60*60*1000 - h*60*60*1000)/1000/60);
        var s = parseInt((t - d*24*60*60*1000 - h*60*60*1000 - m*60*1000)/1000);

        return {
            day:d,
            hours:h,
            minutes:m,
            seconds:s
        }
    }
    
    var diff1 = dateDiff("1997-7-1 0:0:0","1937/10/1 10:1:0");
    console.log(diff1)
    
    var diff2 = dateDiff("1997-7-1 0:0:0");
    console.log(diff2)
原文地址:https://www.cnblogs.com/hy96/p/11392339.html