一、创建⽇期对象
- new Date() 在不传递参数的情况下是默认返回当前时间
- 注意: 和你终端设置的时区有关系
var d = new Date()
console.log(d) // 当前时间 Wed Jan 10 2024 09:25:17 GMT+0800 (中国标准时间)
⼆、获取⽇期对象的每个部分
- 获取年: d.getFullYear()
- 获取⽉: d.getMonth()
取值范围:0~11 - 获取天: d.getDate()
- 获取周⼏: d.getDay()
取值范围:0~6 - 获取⼩时: d.getHours()
24⼩时制 - 获取分钟: d.getMinutes()
- 获取秒: d.getSeconds()
- 获取毫秒: d.getMilliSeconds()
1秒为1000毫秒 - 获取时间戳: d.getTime()
从 格林威治时间 到此刻的毫秒数
格林威治时间:1970.1.1 0:0:0
三、设置指定⽇期对象
3.1. 直接创建⼀个指定时间的时间对象
在 new Date( 参数 ) 时传参,可以直接创建⼀个指定⽇期对象(参数可以为数值或字符)
1. 数值
- ⼀个数值时,表示毫秒数,从格林威治时间到传⼊的毫秒数
- 两个数值,表示年 和 ⽉,其中⽉的取值为0~11
- 三个数值,前两个不变,第三个表示该⽉份的第⼏天,从 1 到 31
- 四个数值,前三个不变,第四个表示当天的⼏点,从 0 到 23
- 五个数值,前四个不变,第五个表示的是该⼩时的多少分钟,从 0 到 59
- 六个数值,前五个不变,第六个表示该分钟的多少秒,从 0 到 59
- 注意:没有设置的部分清0,超出上限时向前进1
2. 字符
字符参数只能传⼊⼀个,直接以字符的形式书写年⽉⽇时分秒即可
- “2024-1-10 9:10:20”
- “2024/1/10 9:10:20”
- “2024.1.10 9:10:20”
注意:
- 年⽉⽇和时分秒之间使⽤空格隔开
- 可以只设置年⽉⽇,不设置时分秒,没有设置的部分,清0
- ⽉份范围1~12
- 某个部分超出上限时,为:Invalid Date
3.2 时间对象常⽤⽅法—设置
- 设置年: d.setFullYear()
- 设置⽉: d.setMonth()
取值范围:0~11 - 设置天: d.setDate()
- 设置⼩时: d.setHours()
- 设置分钟: d.setMinutes()
- 设置秒: d.setSeconds()
- 设置毫秒: d.setMilliseconds()
- 设置时间戳: d.setTime()
表示从 格林威治时间 到设置的毫秒数
注意:设置⽅法的返回值为:从 格林威治时间 到设置的这个时间的时间戳
四、Date 的其他⽅法
1. 时间对象的其它⽅法
- d.toString() :将Date转换为⽇期字符串
- d.toLocaleString() :将Date转换为"年⽉⽇ 时分秒"的本地格式字符串
- d.toDateString() :将Date转换为只含"年⽉⽇"部分的字符串
- d.toLocaleDateString() :将Date转换为只含"年⽉⽇"部分的本地格式字符串
- d.toTimeString() :将Date转换为只含"时分秒"部分字符串
- d.toLocaleTimeString() :将Date转换为只含"时分秒"的本地格式字符串
- d.valueOf() :与getTime()⼀样, 返回时间戳
2. 静态⽅法
- Date.now() :返回时间戳
- Date.parse(dateStr) :把字符串转换为Date对象 ,然后返回此Date对象与格林威治时
间的毫秒数