不甘做小弟,JS时间对象又在搞事情!(上)

关注“大前端私房菜”微信公众号,回复暗号【面试宝典】即可免费领取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

你可能感兴趣的:(javascript,开发语言,ecmascript)