关于日期的题

/*
* 1、按照格式xxxx年xx月xx日 xx时xx分xx秒 显示当前时间,要求不满10的在前补0。
* 2、自定义一函数,输出N天后的日期。
* 3、自定义一函数,实时显示当前时间,格式“xxxx年xx月xx日 xx时xx分xx秒 星期x”。
* 4、计算两个日期对象相差的天数。
* 5、转换为:yyyy-MM-dd HH:mm:ss格式
*/

window.onload=function(){
    //1
    var txt = document.getElementById("showtime");
    setInterval(function(){
        //获取时间
        var data = new Date();
        var Y = data.getFullYear(),
            M = data.getMonth()+1,
            D = data.getUTCDate(),
            h = data.getHours(),
            m = data.getMinutes(),
            s = data.getSeconds();
        //时间补0
        function p(s){
            return s<10 ? '0' + s : s;
        }
        txt.innerHTML = "当前时间:"+Y+"年"+ p(M)+"月"+ p(D)+"日"+ p(h)+"小时"+ p(m)+"分钟"+ p(s)+"秒钟"
    },1000)
    //2
    // function calculation(t){
    //     var dato = new Date();
    //     var Y = dato.getFullYear(),
    //         M = dato.getMonth()+1,
    //         D = dato.getUTCDate()+t;
    //         function p(s){
    //             return s<10 ? '0'+s : s;
    //         }
    // var count = document.getElementById("count");
    //     count.innerHTML = t+"天后的时间是"+Y+"年"+p(M)+"月"+p(D)+"日"
    // }
    // calculation(9)
    function getday(day){
        var today = new Date();
        //获取截止到当前的时间戳,加上传入天数的毫秒数,算出一共的毫秒数,再分别设置时间
        var tmill = today.getTime()+1000*60*60*24*day;
        today.setTime(tmill);
        var Y = today.getFullYear(),
            M = today.getMonth()+1,
            D = today.getDate(),
            qh= day
        function mchange(s){
            return s<10 ? "0"+s:s
        }
        function c(f){
            return f<0 ? "前": "后"
        }
        var count = document.getElementById("count");
        count.innerHTML = day+"天"+c(qh)+"的时间是"+Y+"年"+mchange(M)+"月"+mchange(D)+"日"
    }
    getday(17)
    //3
    var ntimetxt = document.getElementById("ntime");
    setInterval(function(){
        var ntime = new Date();
        var Y = ntime.getFullYear(),
            M = ntime.getMonth()+1,
            D = ntime.getUTCDate(),
            x = ntime.getUTCDay(),
            h = ntime.getHours(),
            m = ntime.getMinutes(),
            s = ntime.getSeconds();
        function p(t){
            return t<10 ? '0'+t : t;
        }
        var xin = ["日","一","二","三","四","五","六"];
        for (var i=0;i<xin.length;i++){
            if(i===x){
                x = xin[i]
            }
        }
        ntimetxt.innerHTML = "现在的时间是:"+Y+"年"+p(M)+"月"+p(D)+"日"+p(h)+"时"+p(m)+"分钟"+p(s)+"秒"+"星期"+x;
    },1000)
    //4
    function chaday(s1,s2){
        var sdate1 = new Date(s1),
            sdate2 = new Date(s2);
        return (sdate2.getTime()-sdate1.getTime())/86400000;
    }
    var s1 = "2018-9-19",
        s2 = "2020-9-19"
    var cha = document.getElementById("cha")
    cha.innerHTML="从"+s1+"到"+s2+"相差"+chaday(s1,s2)+"天"

    Date.prototype.format = function(dat){
        var date = new Date();
        date.setTime(dat*1000);
        var Y = date.getFullYear(),
            M = date.getMonth(),
            D = date.getUTCDate(),
            h = date.getHours(),
            m = date.getMinutes(),
            s = date.getSeconds();
        function p(e){
            return e<10 ? "0"+e : e;
        }
        return Y+"-"+M+"-"+D+" "+h+":"+m+":"+s
    }
    var tran=document.getElementById("tran");
    tran.innerHTML= new Date().format(1537350880)
}
原文地址:https://www.cnblogs.com/Millet-23/p/9675945.html