关注“大前端私房菜”微信公众号,回复暗号【面试宝典】即可免费领取107页前端面试题。
Date
Date 是 js 的一个内置对象,也叫内置构造函数。提供了一堆的方法帮助我们更方便的操作时间
创建时间对象:new Date()
获取时间对象:new Date() 在不传递参数的情况下是默认返回当前时间
当前终端的时间信息
注意: 和你终端设置的时区有关系
var time = new Date()
console.log(time) // 当前时间 Thu Sep 30 2021 11:05:10 GMT+0800 (中国标准时间)
new Date() 在传入参数的时候,可以获取到一个你传递进去的时间
var time = new Date('2019-03-03 13:11:11')
console.log(time) // Sun Mar 03 2019 13:11:11 GMT+0800 (中国标准时间)
创建一个指定时间的时间对象,可以通过两种方式来创建一个时间对象传递数字和传递字符串。
传递数字
new Date() 传递的参数有多种情况,至少传递两个数字, 一个不好使,传递一个代表的是一个毫秒数 指的是格林威治时间到你传递的毫秒数
格林威治时间 : 1970 年 1 月 1 日 0 时 0 分 0 秒,每一个数字都会自动进位
传递两个数字,第一个表示年,第二个表示月份
第二个参数是表示月份的,但是这里需要注意这里的1月分是从0开始,也就是说0就表示1月分,11表示12月份
var time = new Date(2021, 09) // 月份从 0 开始计数,0 表示 1月,11 表示 12月
console.log(time) // Fri Oct 01 2021 00:00:00 GMT+0800 (中国标准时间)
//之传入一个数字的情况
//得到的是 从格林威治时间向后推进 2021ms
// 格林威治时间: 1970 年 1 月 1 日 0 点 0 分 0 秒
var time1 = new Date(2021)
console.log(time1) // Thu Jan 01 1970 08:00:02 GMT+0800 (中国标准时间)
传递三个数字,前两个不变,第三个表示该月份的第几天,从 1 到 31
var time = new Date(2019, 00, 05)
console.log(time) // Sat Jan 05 2019 00:00:00 GMT+0800 (中国标准时间)
传递四个数字,前三个不变,第四个表示当天的几点,从 0 到 23
var time = new Date(2019, 00, 05, 22)
console.log(time) // Sat Jan 05 2019 22:00:00 GMT+0800 (中国标准时间)
传递五个数字,前四个不变,第五个表示的是该小时的多少分钟,从 0 到 59
var time = new Date(2019, 00, 05, 22, 33)
console.log(time) // Sat Jan 05 2019 22:33:00 GMT+0800 (中国标准时间)
传递六个数字,前五个不变,第六个表示该分钟的多少秒,从 0 到 59
var time = new Date(2019, 00, 05, 22, 33, 55)
console.log(time) // Sat Jan 05 2019 22:33:55 GMT+0800 (中国标准时间)
传递字符串
传入字符串的形式
注意:当你传递字符串的时候, 1 表示 1 月, 12 表示 12 月,年月日 和 时分秒之间一定要有一个空格
//传递参数形式一
console.log(new Date('2019'))
// Tue Jan 01 2019 08:00:00 GMT+0800 (中国标准时间)
console.log(new Date('2019-02'))
// Fri Feb 01 2019 08:00:00 GMT+0800 (中国标准时间)
console.log(new Date('2019-02-03'))
// Sun Feb 03 2019 08:00:00 GMT+0800 (中国标准时间)
console.log(new Date('2019-02-03 13:'))
// Sun Feb 03 2019 13:00:00 GMT+0800 (中国标准时间)
console.log(new Date('2019-02-03 13:13:'))
// Sun Feb 03 2019 13:13:00 GMT+0800 (中国标准时间)
console.log(new Date('2019-02-03 13:13:13'))
// Sun Feb 03 2019 13:13:13 GMT+0800 (中国标准时间)
//传递参数形式二
console.log(new Date('2019'))
// Tue Jan 01 2019 08:00:00 GMT+0800 (中国标准时间)
console.log(new Date('2019/02'))
// Fri Feb 01 2019 08:00:00 GMT+0800 (中国标准时间)
console.log(new Date('2019/02/03'))
// Sun Feb 03 2019 08:00:00 GMT+0800 (中国标准时间)
console.log(new Date('2019/02/03 13:'))
// Sun Feb 03 2019 13:00:00 GMT+0800 (中国标准时间)
console.log(new Date('2019/02/03 13:13:'))
// Sun Feb 03 2019 13:13:00 GMT+0800 (中国标准时间)
console.log(new Date('2019/02/03 13:13:13'))
// Sun Feb 03 2019 13:13:13 GMT+0800 (中国标准时间)
时间对象常用方法-获取
获取年 getFullYear
作用:该方法是获取年份的
语法:时间对象.getFullYear()
返回值:该时间对象内的年份信息
○该方式是得到指定字符串中的年份信息
var time = new Date()
console.log(time.getFullYear()) // 2021
获取月 getMonth
作用:getMonth() 方法是得到指定字符串中的哪一个月份
语法:时间对象.getMonth()
返回值:该时间对象内的月份信息
○注意:0 表示 1 月份, 11 表示 12 月份
var time1 = new Date(2021, 11, 21, 10, 12, 15)
console.log(time1); //Tue Dec 21 2021 10:12:15 GMT+0800 (中国标准时间)
console.log(time1.getMonth()); // 11
获取天 getDate
作用:getDate() 方法是得到指定字符串中的哪一天
语法:时间对象.getDate()
返回值:该时间对象内的日期信息
var time = new Date(2019, 03, 03, 08, 00, 22)
console.log(time.getDate()) // 3
获取小时 getHours
作用:getHours() 方法是得到指定字符串中的哪小时
语法:时间对象.getHours()
返回值:该时间对象内的小时信息
○获取到的是 24 小时制的小时时间
var time = new Date(2019, 03, 03, 08, 00, 22)
console.log(time.getHours()) // 8
获取分钟 getMinutes
作用:getMinutes() 方法是得到指定字符串中的哪分钟
语法:时间对象.getMinutes()
返回值:该时间对象内的分钟信息
var time = new Date(2019, 03, 03, 08, 00, 22)
console.log(time.getMinutes()) // 0
获取秒 getSeconds
作用:getSeconds() 方法是得到指定字符串中的哪秒钟
语法:时间对象.getSeconds()
返回值:该时间对象内的秒钟信息
var time = new Date(2019, 03, 03, 08, 00, 22)
console.log(time.getSeconds()) // 22
获取毫秒 getMilliSeconds
作用:getMilliSeconds()方法的等到毫秒
语法:时间对象.getMilliSeconds()
返回值:该时间对象内的毫秒信息
○毫秒是0--999。也就说秒和毫秒之间是1000进制
var time = new Date()
console.log(time.getMilliseconds())
获取周几 getDay
作用:getDay() 方法是得到指定字符串当前日期是一周中的第几天(周日是 0,周六是 6)
语法:时间对象.gerDay()
返回值:该时间对象是一周中的第几天, 也就是周几
var time = new Date(2019, 03, 08, 08, 00, 22)
console.log(time.getDay()) // 1
获取时间戳 getTime
作用:getTime() 方法是得到执行时间到 格林威治时间 的毫秒数
语法:时间对象.getTime()
返回值:格林威治时间到现在的毫秒数
var time = new Date(2019, 03, 08, 08, 00, 22)
console.log(time.getTime()) // 1554681622000