Skip to content

Date

基础使用

  • 引用值。将日期保存为自协调世界时(UTC)时间 1970 年 1 月 1 日午夜(零时)至今所经过的毫秒数

  • 使用 new 操作符调用 Date 构造函数,构建日期对象

    • 无参,创建的对象将保存当前日期和时间
    • 有参,必须是毫秒数。创建该毫秒数的日期对象
    js
    const date = new Date()

valueOf、toString、toLocaleString

Date 重写了这些方法

  • valueOf 返回日期的毫秒表示

    js
    const date1 = new Date(2021, 0, 1),
          date2 = new Dtae(2021, 1, 1)
    console.log( date2 > date1 ) // true
  • toString 返回带时区信息的日期和时间

  • toLocaleString 返回于浏览器运行的本地环境一致的日期和时间

辅助方法

1. Date.parse()
  • 接受一个表示日期的字符串参数,尝试将这个字符串转换为表示该日期的毫秒数
  • 返回字符串转换为表示该日期的毫秒数,如果格式不正确,则返回 NaN
  • 参数格式
    • “月/日/年”,如 “5/23/2019”
    • “月名 日, 年”,如 “May 23, 2019”
    • “周名 月名 日 年 时:分:秒:时区”,如 “Tue May 23 2019 00:00:00 GMT-0700”
    • “YYYY-MM-DDTHH:mm:ss.sssZ”,如 “2019-05-23T00:00:00”
js
Date.parse("2019-05-23T00:00:00") // 1558540800000
2. Date.UTC
  • 多个参数,年、零起点月数(1月是0)、日(1~31)、时(0~23)、分、秒、毫秒。只有年和月是必需的,其余不提供都会使用默认值,日默认值是 1,其余都是 0
  • 返回转换为表示该日期的毫秒数
js
Date.UTC(2019, 4, 23) // 1558569600000

new Date 传入字符串等价于使用 Date.parse 转换

js
new Date("2019-05-23T00:00:00") // Thu May 23 2019 00:00:00 GMT+0800 (中国标准时间)

new Date 传入年、日等参数等价于使用 Date.UTC 转换

js
new Date(2019, 4, 23) // Thu May 23 2019 00:00:00 GMT+0800 (中国标准时间)
3. Date.now()
  • 返回执行时日期和时间的毫秒数

常用方法

方法返回值
getTime()返回实例距离1970年1月1日00:00:00的毫秒数
getDate()返回实例对象对应每个月的几号(从1开始)
getDay()返回星期几,星期日为0,星期一为1,以此类推
getFullYear()返回四位的年份
getHours()返回小时(0-23)
getMinutes()返回分钟(0-59)
getSeconds()返回秒(0-59)
getMilliseconds()返回毫秒