内置对象之Date()日期对象

目录

Date()日期对象

 创建日期对象

格式化日期的方法

日期本地格式化

时间戳(获得总的毫秒数) 

倒计时效果


Date()日期对象

Date() 日期对象  是一个构造函数 必须使用new 来调用创建我们的日期对象

 创建日期对象

        var arr = new Array(); // 创建一个数组对象
        var obj = new Object(); // 创建了一个对象实例
          // 只能通过构造函数的方式进行创建  new Date();
        // 不传递参数,获取当前本地时间
        var date = new Date();
        console.log(date); //Thu Oct 28 2021 08:42:52 GMT+0800 (中国标准时间)
        //console.dir(date);

        // 自定义时间
        // 传递多个参数 (大于等于2个参数)
        // new Date(year,[month],[day],[hour],[minutes],[seconds]);
        // [hour],[minutes],[seconds]:省略了默认00:00:00
        // [month]:0-11    传递的时候 month -1
        var date1 = new Date(2022, 10 - 1, 6, 12, 36, 48);
        console.log(date1);

        // 传递一个  传递一个字符串
        // "2023-10-20 12:20:30"   IE下有兼容問題
        var date2 = new Date("2023-10-20 12:20:30");
        console.log(date2);

        // "2023,10,20 12:20:30"  IE下有兼容問題
        var date3 = new Date("2023-10-20 12:20:30");
        console.log(date3);

        // 2023/10/20 12:20:30
        var date4 = new Date("2023/10/20 12:20:30");
        console.log(date4);

格式化日期的方法

  // 1格式化日期 年月日 
        var date = new Date();
        console.log(date.getFullYear()); // 返回当前日期的年  2019
        console.log(date.getMonth() + 1); // 月份 返回的月份小1个月   记得月份+1 呦
        console.log(date.getDate()); // 返回的是 几号
        console.log(date.getDay()); // 3  周一返回的是 1 周六返回的是 6 但是 周日返回的是 0
        // 我们写一个 2019年 5月 1日 星期三
        var year = date.getFullYear();
        var month = date.getMonth() + 1;
        var dates = date.getDate();
        var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
        var day = date.getDay();
        console.log('今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day]);
  // 格式化日期 时分秒
        var date = new Date();
        console.log(date.getHours()); // 时
        console.log(date.getMinutes()); // 分
        console.log(date.getSeconds()); // 秒
        // 要求封装一个函数返回当前的时分秒 格式 08:08:08
        function getTimer() {
            var time = new Date();
            var h = time.getHours();
            h = h < 10 ? '0' + h : h;
            var m = time.getMinutes();
            m = m < 10 ? '0' + m : m;
            var s = time.getSeconds();
            s = s < 10 ? '0' + s : s;
            return h + ':' + m + ':' + s;
        }
        console.log(getTimer());

    
      //2

var span = document.getElementsByTagName("span")[0];

        // 初始化页面 给span进行赋值
        span.innerHTML = formate();

        // 设置定时器
        setInterval(function () {
            span.innerHTML = formate();
        }, 1000);

        // 日期格式化
        function formate() {
            // 创建本地日期对象
            var date = new Date();
            // 获取年月日
            var year = date.getFullYear();
            var month = date.getMonth() + 1;
            var day = date.getDate();
            // 获取星期几
            var weekArr = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
            var week = weekArr[date.getDay()];
            // 获取时分秒
            var hour = date.getHours();
            var minutes = date.getMinutes();
            var seconds = date.getSeconds();

            return year + "年" + zero(month) + "月" + zero(day) + "日  " + zero(hour) + "时" + zero(minutes) + "分" + zero(
                seconds) + "秒  " + week;
        }
 // 补零操作
        function zero(val) {
            return val < 10 ? "0" + val : val;
        }

日期本地格式化

   var date = new Date();
        console.log(date);

        // 日期格式化
        console.log(date.toLocaleDateString()); //2021/10/28
        console.log(date.toDateString()); //Thu Oct 28 2021

        // 时间格式化
        console.log(date.toLocaleTimeString()); //上午9:17:00
        console.log(date.toTimeString()); //09:17:00 GMT+0800 (中国标准时间)

时间戳(获得总的毫秒数) 

 // 获得Date总的毫秒数(时间戳)  不是当前时间的毫秒数 而是距离1970年1月1号过了多少毫秒数
        // 1. 通过 valueOf()  getTime()
        var date = new Date();
        console.log(date.valueOf()); // 就是 我们现在时间 距离1970.1.1 总的毫秒数
        console.log(date.getTime());
        // 2. 简单的写法 (最常用的写法)
        var date1 = +new Date(); // +new Date()  返回的就是总的毫秒数
        console.log(date1);
        // 3. H5 新增的 获得总的毫秒数
        console.log(Date.now());

倒计时效果

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        span {
            display: block;
            width: 400px;
            height: 50px;
            line-height: 50px;
            margin: 100px auto;
            border: 1px solid orangered;
            text-align: center;
            font-size: 16px;
            font-weight: bold;
        }
    </style>
</head>

<body>
    <span></span>
    <script>
        // 获取元素
        var span = document.getElementsByTagName("span")[0];

        // 页面初始化
        downCount();

        // 每隔一秒钟就调用一次
        setInterval(downCount, 1000);

        // 倒计时
        function downCount() {
            // 当前时间
            var curDate = new Date();
            // 目标时间
            var tarDate = new Date("2021/10/28 17:20:00");

            // 获取时间戳
            // var curDateMillSeconds =  curDate.getTime();
            // var tarDateMillSeconds =  tarDate.getTime();
            // console.log(tarDateMillSeconds - curDateMillSeconds);

            // 直接日期对象相减 可以得到毫秒差
            // console.log(tarDate -curDate);
            // 秒差
            var diffSeconds = parseInt((tarDate - curDate) / 1000);
            // 转为 天 时 分 秒  
            var day = parseInt(diffSeconds / 86400);
            var hour = parseInt(diffSeconds % 86400 / 3600);
            var minutes = parseInt(diffSeconds % 3600 / 60);
            var seconds = diffSeconds % 60

            // 给span进行赋值
            span.innerHTML = "距离放学:" + zero(day) + "天" + zero(hour) + "时" + zero(minutes) + "分" + zero(seconds) + "秒";
        }

        // 补零操作
        function zero(val) {
            return val < 10 ? "0" + val : val;
        }
    </script>
</body>

</html>

猜你喜欢

转载自blog.csdn.net/weixin_58139900/article/details/121069473
今日推荐