JS关于日期对象的小随笔!

我们可以通过日期对象来获取系统的当前时间

var date = new    Date();

但是这样,得出的时间日期,在人们的观赏度上来说是非常差的,所以我们可以通过一些方法,封装成一个函数,最后将日期的各个属性作为一个对象返回出来,让用户自己想得到一个怎么样的日期,就可以通过设置字符链接来得到样式。

function createDate(){
        //获取当前系统日期时间
        var d = new Date();
        //获取日期的每一部分
        var year = d.getFullYear();
        var month = d.getMonth();
        var date = d.getDate();
        var day = d.getDay();
        var hours = d.getHours();
        var minutes = d.getMinutes();
        var seconds = d.getSeconds();
        var mills = d.getMilliseconds();
        var timesTamp = d.getTime();
        //处理星期的0-6的问题
        switch(day){
            case 0:
                day = "日";break;
            case 1:
                day = "一";break;
            case 2:
                day = "二";break;
            case 3:
                day = "三";break;
            case 4:
                day = "四";break;
            case 5:
                day = "五";break;
            case 6:
                day = "六";break;
        }
        return {
            year:year,
            month:createZero(month),
            date:createZero(date),
            day:day,
            hours:createZero(hours),
            minutes:createZero(minutes),
            seconds:createZero(seconds),
            mills:mills,     
            timesTamp:timesTamp
        };
    }
    console.log(createDate());
    function cDate(){
        var YYYY = createDate().year;
        var MM = createDate().month;
        var DD = createDate().date;
        var HH = createDate().hours-12;
        var mm = createDate().minutes;
        var SS = createDate().seconds;
        return YYYY+"-"+MM+"-"+DD+" "+HH+"-"+mm+"-"+SS;
    }

接下来,我们来进行一个使用上面函数的小练习。

编写函数,要求传入两个日期时间,返回两个日期时间之间,相差 `多少天多少小时多少分钟多少秒`
function dateDiff(d1,d2){
        //得到第一个日期对象
        var date1 = new Date(d1);
        //根据用户是否传入第二个日期对象进行选择
        var date2 = d2 ? new Date(d2) : new Date();
        //利用时间戳来进行比较
        // 获取毫秒数
        var t = Math.abs(date1.getTime()-date2.getTime());
        //求得多少毫秒                  
        var mills = t % 1000;
        //获取秒数                      
        t = parseInt(t / 1000);
        //获取天数                      
        var day = parseInt(t / 60 / 60 / 24);
        //获取得出天后的秒数           
        t -= day * 24 * 60 * 60;
        //获取小时数                    
        var hour = parseInt(t / 60 / 60); 
        //获取得出天和小时后的秒数       
        t -= hour * 60 * 60;           
        //获取分钟数
        var minute = parseInt(t / 60);
        //获取取出天、小时、分钟后的秒数,也就是最后的秒数
        t -= minute * 60;
        return {
            day:day,
            hour:hour,
            minute:minute,
            seconds:t,
            mills:mills
        };
    }
原文地址:https://www.cnblogs.com/Huskie-/p/12872903.html