第十章 javascript日期对象(Date)的介绍和使用

文章目录

  • 一、创建日期对象
  • 二、获取日期对象的每个部分
  • 三、设置指定日期对象
      • 3.1. 直接创建一个指定时间的时间对象
      • 3.2 时间对象常用方法—设置
  • 四、Date 的其他方法
  • 五、练习

一、创建日期对象

  1. new Date() 在不传递参数的情况下是默认返回当前时间
  2. 注意: 和你终端设置的时区有关系
var d = new Date()
console.log(d) // 当前时间 Thu Sep 30 2021 11:05:10 GMT+0800 (中国标准时间)

二、获取日期对象的每个部分

  1. 获取年:d.getFullYear()
  2. 获取月:d.getMonth()
    • 取值范围:0~11
  3. 获取天:d.getDate()
  4. 获取周几:d.getDay()
    • 取值范围:0~6
  5. 获取小时:d.getHours()
    • 24小时制
  6. 获取分钟:d.getMinutes()
  7. 获取秒:d.getSeconds()
  8. 获取毫秒:d.getMilliSeconds()
    • 1秒为1000毫秒
  9. 获取时间戳:d.getTime()
    • 从 格林威治时间 到此刻的毫秒数
    • 格林威治时间:1970.1.1 0:0:0

三、设置指定日期对象

3.1. 直接创建一个指定时间的时间对象

  • new Date( 参数 )时传参,可以直接创建一个指定日期对象
    • 参数可以为数值或字符
  1. 数值
    • 一个数值时,表示毫秒数,从格林威治时间到传入的毫秒数
    • 两个数值,表示年 和 月,其中月的取值为0~11
    • 三个数值,前两个不变,第三个表示该月份的第几天,从 1 到 31
    • 四个数值,前三个不变,第四个表示当天的几点,从 0 到 23
    • 五个数值,前四个不变,第五个表示的是该小时的多少分钟,从 0 到 59
    • 六个数值,前五个不变,第六个表示该分钟的多少秒,从 0 到 59
    • 注意:没有设置的部分清0,超出上限时向前进1
  2. 字符
    • 字符参数只能传入一个,直接以字符的形式书写年月日时分秒即可
      • "2023-3-1 9:10:20"
      • "2023/3/1 9:10:20"
      • "2023.3.1 9:10:20"
    • 注意:
      • 年月日和时分秒之间使用空格隔开
      • 可以只设置年月日,不设置时分秒,没有设置的部分,清0
      • 月份范围1~12
      • 某个部分超出上限时,为:Invalid Date

3.2 时间对象常用方法—设置

  1. 设置年:d.setFullYear()
  2. 设置月:d.setMonth()
    • 取值范围:0~11
  3. 设置天:d.setDate()
  4. 设置小时:d.setHours()
  5. 设置分钟:d.setMinutes()
  6. 设置秒:d.setSeconds()
  7. 设置毫秒:d.setMilliseconds()
  8. 设置时间戳:d.setTime()
    • 表示从 格林威治时间 到设置的毫秒数
  • 注意:设置方法的返回值为:从 格林威治时间 到设置的这个时间的时间戳

四、Date 的其他方法

  1. 时间对象的其它方法
    • d.toString():将Date转换为日期字符串
    • d.toLocaleString():将Date转换为"年月日 时分秒"的本地格式字符串
    • d.toDateString():将Date转换为只含"年月日"部分的字符串
    • d.toLocaleDateString():将Date转换为只含"年月日"部分的本地格式字符串
    • d.toTimeString():将Date转换为只含"时分秒"部分字符串
    • d.toLocaleTimeString():将Date转换为只含"时分秒"的本地格式字符串
    • d.valueOf():与getTime()一样, 返回时间戳
  2. 静态方法
    • Date.now():返回时间戳
    • Date.parse(dateStr):把字符串转换为Date对象 ,然后返回此Date对象与格林威治时间的毫秒数

五、练习

  1. 封装函数,实现常见日期格式的拼接:yyyy年mm月dd 星期d hh:mm:ss
    • 06月01
    • 星期三
    • 08:09:03
  2. 封装 可以传入两个日期 的函数,实现计算两个日期之间的差值的功能
    • return {day: x, hours: x, minutes: x, secondes: x}
    • 实现
      • 同时传入两个日期参数,表示计算这两个指定日期的差值
      • 只传入一个日期参数,表示计算当前日期距离指定日期的差值

你可能感兴趣的:(从零开始学JavaScript,javascript,前端,开发语言,js,ecmascript,Date,时间戳)