本文详细介绍JavaScript中Date内置构造函数的使用。涵盖无参获取当前时间、通过数字或字符串参数创建指定时间对象,以及getFullYear、getMonth、getDate等常用获取方法的具体语法、返回值范围及注意事项,如月份从0开始计数等细节。
Date
Date 是 JavaScript 的一个内置对象,同时也作为内置构造函数存在。它提供了一系列方法,旨在帮助用户更便捷地处理时间相关操作。
创建时间对象:new Date()
使用 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() 接收数字参数时有多种组合情况。
至少需要传递两个数字参数,仅传递一个数字的效果与无参不同。
若只传递一个数字,它代表从格林威治时间(GMT)到该毫秒数的偏移量。
格林威治时间定义为 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 (中国标准时间)2. 传递三个数字,前两个参数含义不变,第三个参数表示该月份中的第几天,取值范围为 1 到 31。
var time = new Date(2019, 00, 05)
console.log(time) // Sat Jan 05 2019 00:00:00 GMT+0800 (中国标准时间)3. 传递四个数字,前三个参数含义不变,第四个参数表示当天的几点,取值范围为 0 到 23。
var time = new Date(2019, 00, 05, 22)
console.log(time) // Sat Jan 05 2019 22:00:00 GMT+0800 (中国标准时间)4. 传递五个数字,前四个参数含义不变,第五个参数表示该小时的多少分钟,取值范围为 0 到 59。
var time = new Date(2019, 00, 05, 22, 33)
console.log(time) // Sat Jan 05 2019 22:33:00 GMT+0800 (中国标准时间)5. 传递六个数字,前五个参数含义不变,第六个参数表示该分钟的多少秒,取值范围为 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 月,月份从 1 开始计数。
在字符串格式中,年月日部分与时分秒部分之间必须包含一个空格。
//传递参数形式一
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 月份,遵循从 0 开始计数的规则。
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 小时制的小时时间,范围为 0-23。
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)。
语法:时间对象.getDay()
返回值:该时间对象对应的一周中的第几天数值,即周几。
var time = new Date(2019, 03, 08, 08, 00, 22)
console.log(time.getDay()) // 1获取时间戳 getTime
作用:getTime() 方法用于获取从格林威治时间(GMT)到当前时间的毫秒数。
语法:时间对象.getTime()
返回值:格林威治时间到现在的毫秒数,即时间戳。
var time = new Date(2019, 03, 08, 08, 00, 22)
console.log(time.getTime()) // 1554681622000以上就是JavaScript时间对象Date内置构造函数操作实例的详细内容,更多关于JavaScript时间对象Date的资料请关注本站其它相关文章!