JS基础入门篇(十八)—日期对象

1.日期对象

日期对象:

通过new Date()就能创建一个日期对象,这个对象中有当前系统时间的所有详细信息。

以下代码可以获取当前时间:

<script>
    var t = new Date();
    console.log(t);
    console.log(typeof t);
</script>

如果想不停打印当前的时间,可以看以下代码:

<script>
    setInterval(function () {
        var t = new Date();
        console.log(t);
    },1000);

2.日期对象的参数

    参数:
        (1)年月日 时分秒
            new Date(2016,0,12,2,40,21);月是从0开始算,所以0表示的是1月
        (2)字符串
            new Date('Oct 27,2016 10:10:12');
        (3)时间戳
            时间戳(获取1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒))

以下代码,可以把注释打开,查看效果:

 <script>
          var t= new Date(2016,0,12,2,40,21);//月是从0开始算,所以0表示的是1月。打印结果是Tue Jan 12 2016 02:40:21 GMT+0800 (CST)。
//        var t= new Date("Oct 27,2016 10:10:12");//打印结果是Thu Oct 27 2016 10:10:12 GMT+0800 (CST)。
//        var stemp= new Date().getTime();// 时间戳 距离 1970年1月1日0:0:0 的毫秒差。
//        var t= new Date(stemp);//把时间戳传进去,获取对应的时间。打印的结果当前时间
//        var t= new Date(0);//表示1970年1月1日0:0:0
//        var t = new Date(stemp+10000*1000);//表示距离stmp10000秒之后的时间。
        console.log(t);
</script>

3.获取详细时间和设置详细时间

获取详细时间:

    getFullYear(); 获取年
    getMonth(); 获取月(月份从0开始计算)
    getDate(); 获取日
    getDay();  获取天
    getHours(); 获取时
    getMinutes(); 获取分
    getSeconds(); 获取秒
    getMilliseconds(); 获取毫秒
    getTime(); 获取1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒)
    

设置详细时间:

    setFullYear() 设置年
    setMonth() 设置月 (月份从0开始计算)
    setDate() 设置日
    setHours() 设置小时
    setMinutes() 设置分钟
    setSeconds() 设置秒钟
    setMilliseconds() 设置毫秒
    setTime() 设置1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒)

注意:

        设置日期对象的时候只是在操作这个对象,没有操作本机的系统时间

4.字符时钟

点击查看字符时钟效果

以下是字符时钟代码:

<body>
    <div></div>
    <script>
        var div=document.getElementsByTagName("div")[0];
        //函数作用是,当获取的分秒小于0的时候,往前面加"0"。
        function add0(num) {
            if(num<10){
                return "0"+num;
            }else{
                return num+"";
            }

        }
        setInterval(function () {
            var t=new Date();
            var hour=t.getHours();//获取时
            var m=add0(t.getMinutes());//获取分
            var s=add0(t.getSeconds());//获取秒
            var time=hour+":"+m+":"+s;
            div.innerHTML=time;
        },1000);


    </script>
</body>

5.计算这个月有多少天的三种方式

方式一:

 <script>
        //由于函数内部会计算每个月有多少天,当设置超出时,会溢出,得到的是下个月的时间。
        var t=new Date();
        var M=t.setMonth(0);//设着月份为1月
        t.setDate(32);//设置天数为32天,但1月份只有31天则会溢出。则时间设置后是2月1号
        console.log("2018年1月有"+(32-t.getDate())+"天");
</script>

方式二:

<script>
        var t=new Date();
        var M=t.setMonth(1);//设着月份为2月
        t.setDate(0);//设置为0天,则会跳回上个月的最后一天。
        console.log("2018年1月有"+(t.getDate())+"天");
</script>

方式三:

<script>
        var t=new Date();
        var M=t.setMonth(0);//设着月份为1月
        t.setDate(32);//设置天数为32天,但1月份只有31天则会溢出。则时间设置后是2月1号
        t.setDate(0);//设置为0天,则会跳回上个月的最后一天。
        console.log("2018年1月有"+(t.getDate())+"天");
</script>
    原文作者:梁志芳
    原文地址: https://segmentfault.com/a/1190000015254778
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞