JS中的有关Date的用法

228 阅读1分钟

1.1获取时间的三种定义方式

<script>
        // var obj = new Object();
        // Date 是一个构造函数
        var date = new Date(); 
        console.log(date);//将会出现当天的时间点
        var date = new Date(2020, 3, 18);//打印指定日期的时间
        console.log(date);//Sat Apr 18 2020 00:00:00 GMT+0800 (中国标准时间)
        var date = new Date("2020-03-18 10:12"); //打印指定日期的时间
        console.log(date);//Wed Mar 18 2020 10:12:00 GMT+0800 (中国标准时间)
    </script>

1.2 Date对象上的年,月,日,周

<script>
        var date = new Date();
        // 获取到当前的年份
        console.log(date.getFullYear())
        // 获取当前的月份。 获取的值从0开始 
        console.log(date.getMonth() + 1)
        // 获取到日
        console.log(date.getDate());
        // 获取到星期几
        console.log(date.getDay())
        // 将咱们今天的日期输出出来 2020年3月18日星期三
        var year = date.getFullYear();
        var month = date.getMonth()+1;
        var dates = date.getDate();
        var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
        var day = arr[date.getDay()];
        console.log("今天日期为", year + "年" + month + "月" + dates + "号" + day);
    </script>

1.3 Date对象上的小时,分钟,秒

<script>
        // var date = new Date();
        // // console.log(date)
        // // 小时
        // console.log(date.getHours())
        // // 分钟
        // console.log(date.getMinutes())
        // // 秒
        // console.log(date.getSeconds())
        // 10:24:02  8:5:3 => 08:05:03
        function getTimer() {
            var date = new Date();
            var hours = date.getHours();
            var minutes = date.getMinutes();
            var seconds = date.getSeconds();
            hours = hours < 10 ? '0' + hours: hours
            minutes = minutes < 10 ? '0' + minutes : minutes
            seconds = seconds < 10 ? '0' + seconds : seconds
            return hours + ":" + minutes + ":" + seconds
            // if(hours < 10) {
            //     hours = '0' + hours
            // }
            // if (minutes < 10) {
            //     minutes = '0' + minutes
            // }
            // if (seconds < 10) {
            //     seconds = '0' + seconds
            // }
        }
        console.log(getTimer())
    </script>

1.4 Date 获取时间戳

    let time1 = Date.parse(new Date()); //1603009257000,精确到秒
    let time2 = new Date().getTime(); //1603009495724,精确到毫秒
    let time3 = new Date().valueOf(); //1603009495724.精确到毫秒
    let time4 = Date.now(); //1603009495724,精确到毫秒,实际上是new Date().getTime()
    if (!Date.now) {
        Date.now = function now() {
            return new Date().getTime();
        };
    }
    console.log(time1);
    console.log(time2);
    console.log(time3);
    console.log(time4);

Date.parse() 方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为NaN。

不推荐在ES5之前使用Date.parse方法,因为字符串的解析完全取决于实现。直到至今,不同宿主在如何解析日期字符串上仍存在许多差异,因此最好还是手动解析日期字符串(在需要适应不同格式时库能起到很大帮助