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
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞