Date构造函数
作用
-
Date是javascript
内置的
构造函数,可以通过该函数实例化对象也可直接调用;[1]使用new关键字调用:创建一个Date实例对象,该实例呈现时间中的某个时刻;
[2]直接调用:返回值为一个字符串,呈现时间中的某个时刻;
语法
new Date([value])
-
不传参: 实例化对象表示
实例化时刻
的日期和时间;new Date()
-
传参
[1] 参数为时间戳:表示自 1970 年 1 月 1 日以来的毫秒数new Date(1000*60*60*24).toLocaleDateString() // '1970/1/2'
1秒 == 1000毫秒
1000 * 60 * 60 * 24 毫秒= 24小时传入的若是时间戳 = 1970/1/1+时间戳的时间
[2]参数为日期与时间成员
new Date(year,mounth,[date],[hours],[minutes],[seconds],[milliseconds])
年月为必选参数,其余为可选参数;
mounth选择为
0-11
:也就是说传入的月份要比实际月份减1
举例说明: 想对2022/11/3 11:36:00日期进行操作,先实例化对象
[3]传递为日期字符串
但是显然意义不是很多大。 -
参数错误说明
[1]若是超出了月份、日期的合理范围
,new Date 将会相应地更新 Date 对象
示例1
示例2
[2] 时间戳不允许为字符串格式,必须为Number
类型
[3] 注意:在传入参数为日期时间成员时,若是参数为字符串,解析的不是本地时间而是UTC时间
方法
修指定日期的天数-setDate
- 作用: 指定一个日期对象的天数
- 语法
new Date().setDate(dayValue)
- 参数:一个整数,表示该月的第几天。
- 返回值:修改天数后的时间戳(
会
修改原数据)
由上述例子可以看出 setDate函数的返回值为修改date后的时间戳,并且会修改原数据!// 创建 2023/2/5 00:00:00 时刻的日期 const time = new Date(2023,1,5) console.log(time.toLocaleString()) // 2023/2/5 00:00:00 const newTime = time.setDate(22) console.log(newTime) // 1676995200000 console.log(new Date(newTime).toLocaleString()) // 2023/2/22 00:00:00 console.log(time.toLocaleString()) // 2023/2/22 00:00:00
- 如果为 dayValue 指定 0,那么日期就会被设置为上个月的最后一天
// 创建 2023/2/5 00:00:00 时刻的日期 const time = new Date(2023,1,5) time.setDate(0) console.log(time.toLocaleString()) // 2023/1/31 00:00:00
- 如果 dayValue 超出了月份的合理范围,setDate 将会相应地更新 Date 对象
// 创建 2023/2/5 00:00:00 时刻的日期 const time = new Date(2023,1,5) time.setDate(29) console.log(time.toLocaleString()) // 2023/3/1 00:00:00
- 如果 dayValue 被设置为负数,日期会设置为上个月最后一天往前数这个负数绝对值天数后的日期
// 创建 2023/2/5 00:00:00 时刻的日期 const time = new Date(2023,1,5