js 内置对象Date用法

263 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

前言

工作中常常会涉及到日期的创建、取值与日期对象属性的修改,本文简单记录一下js内置对象Date()的用法,做个使用总结。

生成Date对象

  1. new Date()无入参时,得到当前时间,默认的格式例如Mon Feb 28 2022 10:27:31 GMT+0800 (中国标准时间)

    const date = new Date()
    console.log(date)//Mon Feb 28 2022 10:27:31 GMT+0800 (中国标准时间)
    
  2. 可以用入参指定输出日期时间,以下三种均表示同一时间2022-3-1 10:00:00

    • 第一种注意月份从0表示1月,11表示12月,是差1的关系,因此以下第二个数字2表示3月。
      new Date(2022, 2, 1, 10, 0, 0)
      
    • 第二种记得格式,月份日期以及时间,数字必须要保持2位数
      new Date("2022-03-01T10:00:00")
      
    • 第三种月份要用英文输入,不要遗漏月份与日期,年份与时间中间的空格
      new Date("March 1, 2022 10:0:0")
      
  3. 用入参指定日期时间,如果只用到日期年月日,可以不需要指定时间时分秒,默认是0时0分0秒

    new Date(2022, 2, 1)
    new Date("2022-03-01")
    new Date("March 01, 2022")
    
  4. 还有使用时间戳获得年月日,不过一般都不是手动输入,因为正常人一般不会知道时间戳的数字值。

    new Date(1646100000000)//Tue Mar 01 2022 10:00:00 GMT+0800 (中国标准时间)
    

Date对象属性

属性有很多,我就记录一下常用的。

取值

以下表示2022-3-1 10:00:00new Date(2022, 2, 1, 10, 0, 0)日期对象的取值

属性
getTime()时间戳(1646100000000,时间戳表示1970 年 1 月 1 日至今的毫秒数)
getFullYear()年(2022)
getMonth()月(2,表示3月,0~11)
getDate()日(1)
getHours()时(10)
getMinutes()分(0)
getSeconds()秒(0)
getMilliseconds()毫秒(0,自己手动设置的日期,没有精确到毫秒因此是0)
getDay()星期几(2,表示星期2,0~6,0表示周日
toLocaleString()全日期时间表示(2022/3/6 10:00:00)
toLocaleDateString()日期表示(2022/3/6)
toLocaleTimeString时间表示(10:00:00)

设定值

属性
setTime()修改时间戳
setFullYear()修改年
setMonth()修改月
setDate()修改日
setHours()修改时
setMinutes()修改分
setSeconds()修改秒
setMilliseconds()修改毫秒

尾言

如果觉得文章对你有帮助的话,欢迎点赞收藏哦,有什么错误或者意见建议也可以留言,感谢~