0
点赞
收藏
分享

微信扫一扫

日期函数

日期的获取
     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)

 

长风破浪会有时,直挂云帆济沧海



举报

相关推荐

0 条评论