JS内置对象-Date用法

  • 创建一个新Date对象的唯一方法是通过new 操作符,例如:let now = new Date();
  • 若将它作为常规函数调用(即不加 new 操作符),将返回一个字符串,而非 Date 对象。
 var date = new Date();
        console.log(date); // 打印结果为:Thu Nov 26 2020 16:27:03 GMT+0800 (中国标准时间)

Date对象的一些基本方法:

getFullYear()
表示年份的整数值。
getMonth()
表示月份的整数值,从 0(1月)到 11(12月)。
getDate()
表示一个月中的第几天的整数值,从1开始。默认值为1。
getHours()
表示一天中的小时数的整数值 (24小时制)。默认值为0(午夜)。
getMinutes()
表示一个完整时间(如 01:10:00)中的分钟部分的整数值。默认值为0。
getSeconds()
表示一个完整时间(如 01:10:00)中的秒部分的整数值。默认值为0。
get.Milliseconds 可选
表示一个完整时间的毫秒部分的整数值。默认值为0。
getTime()
getTime() 返回从 1970 年 1 月 1 日至今的毫秒数。
toUTCString()
如何使用 toUTCString() 将当日的日期(根据 UTC)转换为字符串。


注意 月份的起始位置 是从“0”开始计算的,这就意味着一月份为“0”,十二月份为“11”。

注意:当Date作为构造函数调用并传入多个参数时,如果数值大于合理范围时(如月份为 13 或者分钟数为 70),相邻的数值会被调整。比如 new Date(2013, 13, 1)等于new Date(2014, 1, 1),它们都表示日期2014-02-01(注意月份是从0开始的)。其他数值也是类似,new Date(2013, 2, 1, 0, 70)等于new Date(2013, 2, 1, 1, 10),都表示同一个时间:2013-03-01T01:10:00。

注意:当Date作为构造函数调用并传入多个参数时,所定义参数代表的是当地时间。如果需要使用世界协调时 UTC,使用 new Date(Date.UTC(...)) 和相同参数。


案例一:

<script>
// 用Date对象封装一个显示当前日期的函数
        function getTime() {
            var date = new Date(); //创建了一个date对象
            var year = date.getFullYear(); // 获取当前日期的年份
            var month = date.getMonth() + 1; // 获取当前日期的月份
            var day = date.getDate(); // 获取当前日期的号数
            day = day < 10 ? '0' + day : day; // 如果号数小于10,则在号数前面加0
            var hours = date.getHours(); // 获取当前日期的小时
            hours = hours < 10 ? '0' + hours : hours;// 如果小时小于10,则在小时前面加0
            var miuntes = date.getMinutes(); //获取当前日期的分钟数
            miuntes = miuntes < 10 ? '0' + miuntes : miuntes;// 如果分钟小于10,则在分钟前面加0
            var senconds = date.getSeconds(); //获取当前日期的秒数
            senconds = senconds < 10 ? '0' + senconds : senconds;// 如果秒数小于10,则在秒数前面加0
            time = year + '年' + month + '月' + day + '日 ' + hours + '时' + miuntes + '分' + senconds + '秒';
            return time;
        }
        console.log(getTime());
    </script>

时间戳:当前时间距离1970年1月1日过了多少毫秒数

获取时间戳的三种方式:

<script>
// 1. 通过 valueOf() getTime()
        var date = new Date(); 
        console.log(date.valueOf());
        console.log(date.getTime());

        // 2. 简单的写法
        var date = +new Date();
        console.log(date)

        // H5新增的获取总的毫秒数,低版本浏览器不适用
        console.log(Date.now());
</script>

案例二:

<script>
// 用Date对象封装一个计算剩余时间的函数
 function countDown(time) {
            var nowTime = +new Date();  // 返回当前时间戳
            var inputTime = +new Date(time); // 返回用户输入时间的时间戳
            var times = (inputTime - nowTime) / 1000; // 得到剩余时间的秒数
            var d = parseInt(times / 60 / 60 / 24); // 得到剩余时间的天数
            d = d < 10 ? '0' + d : d;
            var h = parseInt(times / 60 / 60 % 24); // 得到剩余时间的小时数
            h = h < 10 ? '0' + h : h;
            var m = parseInt(times / 60 % 60); // 得到剩余时间的分钟数
            m = m < 10 ? '0' + m : m;
            var s = parseInt(times % 60); // 得到剩余时间的秒数
            s = s < 10 ? '0' + s : s;
            remainTime = '剩余时间:' + d + '天' + h + '小时' + m + '分钟' + s + '秒';
            return remainTime;
        }
        console.log(countDown('2020-12-25 18:00:00'))
</script>
posted @ 2020-11-26 15:35  Redamancy_Xj  阅读(342)  评论(0)    收藏  举报