获取一个日期对象 日期的构造函数
var d = new Date();
如果Date()没有参数 得到的是当前日期 获取的日期格式:中国标准时间格式
如果Date()有参数:接收一个日期格式的字符串,则以该日期为准
var d = new Date("1990-10-11 06:8:8");
<=> var d = new Date("1990/10/11 06:8:8");
var d = new Date(1990); //1970...不识别一个参数
如果Date()有参数:接收两个参数,第一个表示年,第二个表示月(0表示1月 以此类推)
var d = new Date(1990, 10); // 1990-10-31T16:00:00.000Z
var d1 = new Date(1990, 1, 1, 5, 21, 30, 3000); // 1990-01-31T21:21:33.000Z
如果接收三个参数 第一个表示年 第二个表示月(0表示1月 以此类推) 第三个表示日
如果接收四个参数 第一个表示年 第二个表示月(0表示1月 以此类推) 第三个表示日
第四个表示小时
如果接收五个参数 第一个表示年 第二个表示月(0表示1月 以此类推) 第三个表示日
第四个表示小时 第五个表示分钟
如果接收六个参数 第一个表示年 第二个表示月(0表示1月 以此类推) 第三个表示日
第四个表示小时 第五个表示分钟 第六个表示秒
如果接收七个参数 第一个表示年 第二个表示月(0表示1月 以此类推) 第三个表示日
第四个表示小时 第五个表示分钟 第六个表示秒 第七个表示毫秒
获取日期方法
function getDate() {
let d = new Date();
// 获取年
let year = d.getFullYear();
// 获取月
let month = d.getMonth() + 1;
// 获取日
let date = d.getDate();
// 获取时
let hour = d.getHours();
// 获取分
let minutes = d.getMinutes();
// 获取秒
let seconds = d.getSeconds();
// getMilliseconds() 获取毫秒数
// getTime() 从1970年1月1日0点0时0分到当前时间的毫秒数
// 获取星期几 0表示星期天,1~6表示星期一~星期六
let week = d.getDay() === 0 ? "星期日" : "星期" + d.getDay();
return year + "年" + month + "月" + date + "日" + hour + "时" + minutes + "分" + seconds + "秒" + week;
}
console.log(getDate()); // 2021年8月1日20时6分29秒星期日
与get方法相对应的set方法
setFullYear()
setMonth()
setDate()
setHours()
setMinutes()
setSeconds()
setMilliseconds()
注意:没有setDay()方法,因为不知道是哪个月或者的星期几
日期的计算
日期的计算其实是在计算毫秒值
getTime() 方法:从1970年1月1日0点0时0分到当前时间的毫秒数
var time = new Date(2020, 1, 25, 5, 39, 6).getTIme(); <=>var time = Number(new Date(2020, 1, 25, 5, 39, 6));
Number()方法与getTime()相同
计算 2020年1月7日与1990年10月5日之间相差多少天
var d1 = new Date(2020, 0, 7);
var d2 = new Date(1990, 10, 5);
// 得到两个毫秒值 并相减
var milliseconds = d1.getTime() - d2.getTime();
// 1秒 = 1000毫秒
var seconds = milliseconds / 1000;
// 1分 = 60秒
var minutes = seconds / 60;
// 1小时 = 60分
var hours = minutes / 60;
// 1天 = 24小时
var days = hours / 24;