JavaScript Date对象创建与常用获取方法详解

作者:代码拾荒时间:2026-10-30 19:14:11浏览:346

本文详细介绍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的资料请关注本站其它相关文章!

作者最新文章