// 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 对象的原始值。 |