js入门之内置对象Date

一、 Date对象

Math和Date对象的区别
Math对象和Date对象的区别
Math不是一个构造函数,里面提供的是静态成员
Date是一个构造函数 首先要通过new Date() 来创建日期实例

GMT 格林威治时间 世界时间
GMT+0800 (中国标准时间)
创建Date 实例用来处理日期和时间。 Date对象基于1970年1月1日起的秒数

1. 用法:

1. 空构造函数 获取当前时间对象
var d = new Date();
    console.log(d);
2. 构造函数中传入毫秒值
var d = new Date();
console.log(d.valueOf());  获取毫秒值
var d = new Date(1575364161879);
3. 可以传入日期形式的字符串
var d = new Date('1994-10-16');
        console.log(d);
4. 传入数字
5. 获取时间毫秒秒方法 
d.getTime();
var num = Date.now();
var num = + new.Date()

2. Date的常用方法

日期格式化方法
 toString() 转换成字符串
 valueOf() 获取毫秒值

 格式化日期的方法 在不同浏览器可能表现不一致, 一般不用
 toDateString()
 toTimeString()
 toLocaleDateString()
 toLOcaleTimeString()


 获取日期指定部分
 getTime() 返回好小和vauleOf() 结果一样
 getMilliseconds()
 getSeconds() 返回0-59
 getMinutes() 返回0~59
 getHours() 返回0~23
 getDay() 返回星期几 0是周日
 getDate() 返回当月的第几天
 getMonth() 返回月份 **从0开始
 getFullYear() 返回4位的年份 

var d = new Date();
console.log(d.getFullYear());
console.log(d.getMonth() + 1);
console.log(d.getDate());
console.log(d.getHours());
console.log(d.getMinutes());
console.log(d.getSeconds());

案例1 格式化日期对象

date instanceof Date 判断date是否是Date类型
console.err()  当发生错误时 可打印自定义日志


    function formatDate(date) {

        if (!(date instanceof Date)) {
            console.error('date 不是日期对象');
            return;
        }
        var year = date.getFullYear(),
            month = date.getMonth() + 1,
            day = date.getDate(),
            hour = date.getHours(),
            minute = date.getMinutes(),
            second = date.getSeconds();

        month = month < 10 ? '0' + month : month;
        day = day < 10 ? '0' + day : day;
        hour = hour < 10 ? '0' + hour : hour;
        minute = minute < 10 ? '0' + minute : minute;
        second = second < 10 ? '0' + second : second;

        return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
    }
    var d = new Date(2019, 1, 3);
    var dateStr = formatDate(d)
    console.log(dateStr);
View Code

案例2 计算时间差

function getInterval(start, end) {
        var interval = end -start;
        var day, hour, minute, second;
        interval /= 1000;
        day = Math.round(interval / 60 / 60 /24);
        hour = Math.round(interval /60 /60 % 24);
        minute = Math.round(interval / 60 % 60);
        second = Math.round(interval % 60);
        return {
            day: day,
            hour: hour,
            minute: minute,
            second: second,
        }

    }
    var d1 = new Date();
    var d2 = new Date(2019,12,24);
    obj = getInterval(d1, d2);
    console.log(obj);
View Code
原文地址:https://www.cnblogs.com/guniang/p/11987395.html