Date对象
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()
// JS中有很多内置对象 Math负责一些数学方面的函数等
// 还有一个对象 Date 它负责日期方面的内容
// 注意:以后 只要出现new关键字 它就是引用类型
// var date = new Date(); // 当直接通过new调用Date时 并且不传递参数时 得到的时当前的系统时间
// console.log(date);
// 在前端如果做倒计时功能,不可以使用前端日期
// 总而言之:记住,前端日期不可靠 一定要使用后端日期
设置日期
-
设置年 setFullYear()
-
设置月 setMonth()
-
设置天 setDate()
-
设置小时 setHours()
-
设置分钟 setMinutes()
-
设置秒数 setSeconds()
-
Date可以接受参数 接受两个参数 第一个表示年份 第二个表示月份(0表示1月) 0 ~ 11
var date = new Date(2019, 2);
console.log(date);
// Date可以接受参数 接受三个参数 前两个同上 第三个表示天数 这个不是从0开始 写几就是几号 1 ~ 31
var date = new Date(2019, 1, 20);
console.log(date);
// // Date可以接受参数 接受四个参数 前三个同上 第四个表示小时 值0 ~ 23
var date = new Date(2019, 1, 20, 1);
console.log(date);
// Date可以接受参数 接受五个参数 前四个同上 第五个表示分钟 0 ~ 59
var date = new Date(2019, 1, 20, 1, 5);
console.log(date);
// Date可以接受参数 接受六个参数 前五个同上 第六个表示秒 0 ~ 59
var date = new Date(2019, 1, 20, 1, 5, 45);
console.log(date);
// 我们可以单独获取一个日期对象的指定的部分
var date = new Date();
// 获取年份
var year = date.getFullYear();
console.log("今年是" + year);
// 获取月份
var month = date.getMonth();
console.log("这个月是" + (month + 1) + "月");
// 获取日期
var day = date.getDate();
console.log(day);
// 获取小时
var hour = date.getHours();
console.log(hour);
// 获取分钟数
var minutes = date.getMinutes();
console.log(minutes);
// 获取秒数
var seconds = date.getSeconds();
console.log(seconds);
// 获取毫秒值
var millionSeconds = date.getMilliseconds();
console.log(millionSeconds);
// 获取毫秒值 获取的是从1970年1月1号0点0分0秒时到这个日期
var m = date.getTime();
console.log(m);
// 转换成秒
var seconds = parseInt(m/1000);
// 转换成分钟
var minutes = parseInt(seconds / 60);
// 转换成小时
var hours = parseInt(minutes / 60);
// 转换成天数
var days = parseInt(hours / 24);
- 日期的其它的不常用的方法
var date = new Date();
// 将年份修改成2018年
date.setFullYear(2018);
console.log(date);
// 将月份修改为12月
date.setMonth(11);
console.log(date);
// 将日期修改为18号
date.setDate(18);
console.log(date);
// 将小时修改为凌晨五点
date.setHours(5);
console.log(date);
// 将分钟修改为9分
date.setMinutes(9);
console.log(date);
// 将秒修改为45秒
date.setSeconds(45);
console.log(date);
// 设置毫秒值
date.setMilliseconds(456);
console.log(date);
// 计算两个日期的相差天数
// 比如: 从2015年7月28号 到现在 有多少天 多少小时 多少分钟 多少秒
var date = new Date(2015, 6, 28);
var date1 = new Date();
// console.log(date1 - date); // 备注:两个日期相减 得到的是两个日期之间的相差的毫秒值
// 获取两个日期之间的毫秒值
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 + "秒")