Date类型的使用
创建Date对象
Date的构造函数有如下用法:
// 1. 创建date对象的方式
//没有传入任何参数获取到的是当前时间
var date1 = new Date()
console.log(date1) //Wed Aug 28 2024 09:17:12 GMT+0800 (中国标准时间)
// 2. 传入参数:传入字符串
var date2 = new Date("2024-08-28")
console.log(date2)
// 3. 传入具体的年月日 时分秒
var date3 = new Date(2033,10,10, 9, 8, 7,333)
console.log(date3)
// 4. 传入一个Unix时间戳
var date4 = new Date(10001231113131)
console.log(date4)
dateString时间的表示方式
◼ 日期的表示方式有两种:RFC 2822 标准或者ISO 8601 标准。
◼ 默认打印的时间格式是RFC 2822标准的:
new Date()
//Wed Aug 28 2024 09:30:29 GMT+0800 (中国标准时间)
◼ 我们也可以将其转化成ISO 8601标准的:
new Date().toISOString()
//2286-12-04T23:45:13.131Z
YYYY:年份,0000 ~ 9999
MM:月份,01 ~ 12
DD:日,01 ~ 31
T:分隔日期和时间,没有特殊含义,可以省略
HH:小时,00 ~ 24
mm:分钟,00 ~ 59
ss:秒,00 ~ 59
.sss:毫秒
Z:时区
Date获取信息的方法
◼ 我们可以从Date对象中获取各种详细的信息:
getFullYear():获取年份(4 位数);
getMonth():获取月份,从 0 到11;
getDate():获取当月的具体日期,从 1 到31(方法名字有点迷);
getHours():获取小时;
getMinutes():获取分钟;
getSeconds():获取秒钟;
getMilliseconds():获取毫秒;
◼ 获取某周中的星期几:
getDay():获取一周中的第几天,从 0(星期日)到6(星期六);
//例子
var date = new Date()
console.log(date)
console.log(date.toISOString())
// 1.获取想要的时间信息
var year = date.getFullYear()
var month = date.getMonth()+1
var day = date.getDate()
var hour = date.getHours()
var minute = date.getMinutes()
var socre = date.getSeconds()
console.log(year,month,day,hour,minute)
console.log(`${year}-${month}-${day}-${hour}-${minute}-${socre}`)
var weakDay= date.getDay()//获取一周中的第几天
console.log(weakDay)
// 2.给Date设置时间
date.setFullYear(2033)
// 自动校验
date.setDate(32)//Thu Sep 01 2033 09:53:57 GMT+0800 (中国标准时间)
console.log(date)
Date获取Unix时间戳
// var date = new Date(123456678990)
// console.log(date)
// Date对象转成时间戳
var date = new Date()
var date2 = new Date("2023-09-09")
// 方法一:当前时间的时间戳
var timesTamp = Date.now()
console.log(timesTamp)//1724810327088
// 将一个date对象转换成时间戳
var timesTamp2 = date.getTime()
var timesTamp3 = date2.valueOf()
console.log(timesTamp2,timesTamp3)
// 方法四:
console.log(+date)
Date.parse方法
◼ Date.parse(str) 方法可以从一个字符串中读取日期,并且输出对应的Unix时间戳。
◼ Date.parse(str) :
作用等同于new Date(dateString).getTime() 操作;
需要符合RFC2822 或ISO 8601 日期格式的字符串;
✓ 比如YYYY-MM-DDTHH:mm:ss.sssZ
其他格式也许也支持,但结果不能保证一定正常;
如果输入的格式不能被解析,那么会返回NaN;