日期对象用于处理日期和时间。
可以通过 new 关键词来定义 Date 对象。 new Date()。
1.1 申明日期对象
有四种方式初始化日期,语法:
new Date();
new Date(dateString);
new Date(value);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
其中, 参数可以为整数; 也可以为字符串; 但格式必须正确
new Date(2022,3,11); //正确
new Date("2022/3/11"); //正确
new Date("2022-1-1"); //错误
演示:
//日期对象
{
var date=new Date()
console.log(date, typeof date);
var d2=new Date("October 13, 1975 11:13:00");
console.log(d2);
// 月份0-11 4代表的是 国内的5月份
var d3=new Date(79,4,24)
console.log(d3);
}
预览:
1.2 日期对象方法
1.2.1 获取-12个方法
1、getFullYear()获取年(获取完整的年份 4位)推荐;获取当前年份(2位)不推荐
var d=new Date();
//年
var year=d.getFullYear();
console.log(year);
//2022
2、getMonth() 获取月 (当前月份0-11,0代表1月,所以获取当前月份是d.getMonth()+1)
var month=d.getMonth()+1;
console.log(month);
//5
3、getDate()获取日期(当前日 1-31)
var today=d.getDate();
console.log(today);
//13
4、getHours()获取小时(当前小时数0-23)
var hour=d.getHours();
console.log(hour);
//20
5、getMinutes()获取分钟(当前分钟数 0-59)
var min=d.getMinutes();
console.log(min);
//10
6、getSeconds()获取秒(当前秒数 0-59)
如果 时间(小时 分钟 秒 ,当这个时间这个数字是小于10的,我就在这个数字的前面补前导0)sec = sec < 10 ? "0" + sec : sec;
// getSeconds() 获取秒
let second = d.getSeconds()
// 如果 时间(小时 分钟 秒 ,当这个时间这个数字是小于10的,我就在这个数字的前面补前导0)
second = second < 10 ? '0'+second : second;
document.write(second)
预览:
7、getDay() 获取当前星期x(x取值 是 0-6,0代表星期天)
var day=d.getDay();
console.log(day);
let weekArr = ['星期天','星期一','星期二','星期三','星期四','星期五','星期六']
console.log(weekArr[day]);
预览:
8、getTime()获取毫秒数
getTime() 返回从 1970 年 1 月 1 日至今的毫秒数。获取毫秒数(时间戳) (从1970年到现在 共计有多少毫秒)
1秒 == 1000毫秒 (从1970年到现在 共计有多少秒)console.log(date.getTime() / 1000);
JS获取当前时间戳的方法-JavaScript 获取当前毫秒时间戳有以下三种方法:
//获取毫秒数
var time=d.getTime();
console.log(time);
var time1=d.valueOf();
console.log(time1);
let msec3 = Date.parse(new Date()) //不推荐使用,毫秒改成了000显示
console.log('获取毫秒:'+msec3)
预览:
9、获取当前毫秒数 (0-999)
//获取当前毫秒数(0-999)
var mill=d.getMilliseconds()
console.log(mill);
预览:
10、toLocaleDateString()获取当前日期
ar date1=d.toLocaleDateString()
console.log(date1);
预览:
11、获取日期与时间
//获取当前日期与时间
var date2=d.toDateString();
console.log(date2, typeof date2);
预览:
12、获取当前时间
var date3=d.toLocaleTimeString();
console.log(date3);
预览:
1.2.2 设置-2个方法
1、setFullYear()设置具体的日期
// 注意:setFullYear() 这一步,直接写,不要写 赋值符号
d.setFullYear(2022,4,12);
console.log(d);
预览:
2、setDate() 用于设置一个月的某一天
setDate() 语法:
Date.setDate(day)
其中参数 为0,表示 上一个月的最后一天
{
let d=new Date()
d.setDate(0);
console.log(d);
}
预览:
-1 为上一个月最后一天之前的一天
{
let d=new Date()
d.setDate(-1);
console.log(d);
}
预览:
如果当月有 31 天:
32 为下个月的第一天
{
let d=new Date()
d.setDate(32);
console.log(d);
}
预览:
设置一个月的某一天
表示一个月中的一天的一个数值(1 ~ 31)
// 设置一个月的某一天
// 表示一个月中的一天的一个数值(1 ~ 31)
// setDate(10)
let d = new Date()
d.setDate(10)
console.log(d)
预览:
设置 5天后的日期
// setDate(里的数字) 等于 当前系统日期+5 ,就代表是 5天后
let d = new Date()
console.log(d.getDate())
d.setDate(d.getDate()+5)
console.log(d)
1.2.3 编写常见日期处理函数
编写函数,根据出生日期,计算人的年龄。
// 根据出生日期,计算人的年龄。
//1999.4.22
function getAge(){
let d1=new Date()
let d2=new Date()
d2.setFullYear(1999,4,22)
console.log(d1.getTime());
console.log(d2.getTime());
let time=d1.getTime() - d2.getTime()
let age=Math.floor(time/1000/60/60/24/365)
return age
}
console.log('小朋友的年龄是:'+getAge()+'岁');
预览: