// JS中有很多内置对象 Math负责一些数学方面的函数等
    // 还有一个对象 Date 它负责日期方面的内容

    // 注意:以后 只要出现new关键字 它就是引用类型 
    // var date = new Date(); // 当直接通过new调用Date时 并且不传递参数时 得到的时当前的系统时间
    // console.log(date);

    // 在前端如果做倒计时功能,不可以使用前端日期
    // 总而言之:记住,前端日期不可靠 一定要使用后端日期

Date对象

ECMAScript中的 Date 类型是在早期 Java中的 java.util.Date 类基础上构建的。为此,Date 类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970年 1月 1日午夜(零时)开始经过 的毫秒数来保存日期。在使用这种数据存储格式的条件下,Date 类型保存的日期能够精确到 1970年 1 月 1日之前或之后的 285 616年。

JS中有许多的内置对象。 还有一个对象 Date 它负责日期方面的内容。(其实是构造函数)
对于构造函数是为了对象的产生,因为一切皆对象

注意:以后 只要出现new关键字 它就是引用类型

初始化日期

  • 不传递参数
var date = new Date(); // 当直接通过new调用Date时 并且不传递参数时 得到的时当前的系统时间
console.log(date); // 当前时间 Tue Aug 27 2019 16:43:49 GMT+0800 (中国标准时间)
  • 传递一个参数
    Date可以接受一个字符串作为参数 要求是符合系统时间的字符串
var date = new Date("2019-10-10 19:00:00")
  • 传递两个参数
    Date可以接受参数 接受两个参数 第一个表示年份 第二个表示月份(0表示1月) 0 ~ 11
var date = new Date(2019, 2);
  • 传递三个参数
    前两个同上 第三个表示天数 这个不是从0开始 写几就是几号 1 ~ 31
var date = new Date(2019, 1, 20);
  • 传递四个参数
    前三个同上 第四个表示小时 值0 ~ 23
var date = new Date(2019, 1, 20, 1);
  • 传递五个参数
    前四个同上 第五个表示分钟 0 ~ 59
var date = new Date(2019, 1, 20, 1, 5);
  • 传递六个参数
    前五个同上 第六个表示秒 0 ~ 59
var date = new Date(2019, 1, 20, 1, 5, 45);

获取日期部分内容

  • 获取年 getFullYear()
  • 获取月 getMonth()
  • 获取天数 getDate()
  • 获取小时 getHours()
  • 获取分钟 getMinutes()
  • 获取秒数 getSeconds()
  • 获取毫秒值 getMillionseconds()
  • 获取星期几 getDay()
    注: 0 是星期天 周一到周六 1 ~ 6
  • 获取从1970年1月1日0点0分0秒至日期的毫秒值 getMillions()

设置日期

  • 设置年 setFullYear()
  • 设置月 setMonth()
  • 设置天 setDate()
  • 设置小时 setHours()
  • 设置分钟 setMinutes()
  • 设置秒数 setSeconds()

小案例

// 计算两个日期的相差天数
        // 比如: 从2015年7月28号 到现在 有多少天 多少小时 多少分钟 多少秒
        var date = new Date(2015, 6, 28);
        var date1 = new Date();
        // console.log(date1 - date);  // 备注:两个日期相减 得到的是两个日期之间的相差的毫秒值
        // 获取两个日期之间的毫秒值,也就是所谓的格林尼治时间从1970年的0时0分开始到现在;
        var dateTime = date.getTime();
        var date1Time = date1.getTime();
        // 这条代码是在进行两个毫秒值之间的计算 需要调用两次getTime
        console.log(date1Time - dateTime);
        // 这条代码是上面代码的简化方式
        console.log(date1 - date);

        // 获取相差的毫秒值
        var millionSeconds = date1Time - dateTime;
        // 毫秒值转为天数
        var days = parseInt(millionSeconds / 1000 / 60 / 60 / 24);

        // 毫秒值转为小时数
        var hours = parseInt(millionSeconds / 1000 / 60 / 60) % 24;

        // 毫秒值转为分数
        var minutes = parseInt(millionSeconds / 1000 / 60) % 60;

        // 秒数
        var seconds = parseInt(millionSeconds / 1000) % 60;
        console.log("从" + date + "到" + date1 + "之间 总共" + days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒")

Date对象的属性

属性

描述

constructor

返回对创建此对象的 Date 函数的引用。

prototype

使您有能力向对象添加属性和方法。

Date对象的方法

方法

描述

Date()

返回当日的日期和时间。

getDate()

从 Date 对象返回一个月中的某一天 (1 ~ 31)。

getDay()

从 Date 对象返回一周中的某一天 (0 ~ 6)。

getMonth()

从 Date 对象返回月份 (0 ~ 11)。

getFullYear()

从 Date 对象以四位数字返回年份。

getYear()

请使用 getFullYear() 方法代替。

getHours()

返回 Date 对象的小时 (0 ~ 23)。

getMinutes()

返回 Date 对象的分钟 (0 ~ 59)。

getSeconds()

返回 Date 对象的秒数 (0 ~ 59)。

getMilliseconds()

返回 Date 对象的毫秒(0 ~ 999)。

getTime()

返回 1970 年 1 月 1 日至今的毫秒数。

getTimezoneOffset()

返回本地时间与格林威治标准时间 (GMT) 的分钟差。

getUTCDate()

根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

getUTCDay()

根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。

getUTCMonth()

根据世界时从 Date 对象返回月份 (0 ~ 11)。

getUTCFullYear()

根据世界时从 Date 对象返回四位数的年份。

getUTCHours()

根据世界时返回 Date 对象的小时 (0 ~ 23)。

getUTCMinutes()

根据世界时返回 Date 对象的分钟 (0 ~ 59)。

getUTCSeconds()

根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

getUTCMilliseconds()

根据世界时返回 Date 对象的毫秒(0 ~ 999)。

parse()

返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

setDate()

设置 Date 对象中月的某一天 (1 ~ 31)。

setMonth()

设置 Date 对象中月份 (0 ~ 11)。

setFullYear()

设置 Date 对象中的年份(四位数字)。

setYear()

请使用 setFullYear() 方法代替。

setHours()

设置 Date 对象中的小时 (0 ~ 23)。

setMinutes()

设置 Date 对象中的分钟 (0 ~ 59)。

setSeconds()

设置 Date 对象中的秒钟 (0 ~ 59)。

setMilliseconds()

设置 Date 对象中的毫秒 (0 ~ 999)。

setTime()

以毫秒设置 Date 对象。

setUTCDate()

根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

setUTCMonth()

根据世界时设置 Date 对象中的月份 (0 ~ 11)。

setUTCFullYear()

根据世界时设置 Date 对象中的年份(四位数字)。

setUTCHours()

根据世界时设置 Date 对象中的小时 (0 ~ 23)。

setUTCMinutes()

根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

setUTCSeconds()

根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

setUTCMilliseconds()

根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

toSource()

返回该对象的源代码。

toString()

把 Date 对象转换为字符串。

toTimeString()

把 Date 对象的时间部分转换为字符串。

toDateString()

把 Date 对象的日期部分转换为字符串。

toGMTString()

请使用 toUTCString() 方法代替。

toUTCString()

根据世界时,把 Date 对象转换为字符串。

toLocaleString()

根据本地时间格式,把 Date 对象转换为字符串。

toLocaleTimeString()

根据本地时间格式,把 Date 对象的时间部分转换为字符串。

toLocaleDateString()

根据本地时间格式,把 Date 对象的日期部分转换为字符串。

UTC()

根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。

valueOf()

返回 Date 对象的原始值。