你的浏览器不支持canvas

Enjoy life!

javascript - Date 类型

Date: Author: JM

本文章采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可。

一、 日期对象

  • 调用 new Date() 获取当前时间,函数返回的是日期对象
  • 参数规则:
// value 代表自1970年1月1日00:00:00 (世界标准时间) 起经过的毫秒数
new Date(value);

// 表示日期的字符串值
new Date(dateString);

// year 代表年份的整数值,为了避免2000年问题最好指定4位数的年份; 如使用 1998, 而不要用 98
// month 代表月份的整数值从0(1月)到11(12月)
// day 代表一个月中的第几天的整数值,从1开始
// hour 代表一天中的小时数的整数值 (24小时制),minute 分钟数,second 秒数,millisecond 毫秒数
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
    var now = new Date()
    console.log(now) // Tue Feb 13 2018 09:46:44 GMT+0800 (中国标准时间)

    var today = new Date(1453094034000)
    console.log(today) // Mon Jan 18 2016 13:13:54 GMT+0800 ( by timestamp(accurate to the millimeter))

    var birthday = new Date('August 24, 1996 12:00:00')
    console.log(birthday) // Sat Aug 24 1996 12:00:00 GMT+0800

    var birthday = new Date('1995-12-17T03:24:00')
    console.log(birthday) // Sun Dec 17 1995 03:24:00 GMT+0800 (中国标准时间)

    var birthday = new Date(1995, 11, 17)
    console.log(birthday) // Sun Dec 17 1995 00:00:00 GMT+0800 (中国标准时间)

    var birthday = new Date(1995, 11, 17, 3, 24, 0)
    console.log(birthday) // Sun Dec 17 1995 03:24:00 GMT+0800 (中国标准时间)

二、静态方法

2.1 Date.now()

// 记录开始时间
    var start = Date.now()
    console.log(start) // 1518487088757

    // 运行一段代码
    doSomething()

    // 记录结束时间
    var stop = Date.now()
    console.log(stop) // 1518487088770

    var timeUse = stop - start
    console.log(timeUse) // 13

    function doSomething () {
      console.log('hello')
    }

  • 对于不支持 Date.now() 方法的浏览器(如 IE8-),我们还可以使用+操作符把 Date 对象转换成字符串,也可以达到同样的目的
  • demo
    // 记录开始时间
    var start = +new Date()
    console.log(start) // 1518487184471

    // 运行一段代码
    doSomething()

    // 记录结束时间
    var stop = +new Date()
    console.log(stop) // 1518487184479

    var timeUse = stop - start
    console.log(timeUse) // 8

    function doSomething () {
      console.log('hello')
    }

三、实例方法 - Getter

date

    const now = new Date()
    console.log(now) // Tue Feb 13 2018 10:07:45 GMT+0800 (中国标准时间)

    const year = now.getFullYear()
    console.log(year) // 2018

    const month = now.getMonth()
    console.log(month) // 1

    const date = now.getDate()
    console.log(date) // 13

    const day = now.getDay()
    console.log(day) // 2

    const hour = now.getHours()
    console.log(hour) // 10

    const minutes = now.getHours()
    console.log(minutes) // 10

    const seconds = now.getSeconds()
    console.log(seconds) // 45

    const milliseseconds = now.getMilliseconds()
    console.log(milliseseconds) // 190

    const time = now.getTime()
    console.log(time) // 1518487665190

四、实例方法 - Setter

date

五、其他方法

date

    const now = new Date()
    console.log(now) // Tue Feb 13 2018 10:15:40 GMT+0800 (中国标准时间)

    console.log(now.toString()) // Tue Feb 13 2018 10:15:40 GMT+0800 (中国标准时间)

    console.log(now.toTimeString()) // 10:15:40 GMT+0800 (中国标准时间)

    console.log(now.toDateString()) // Tue Feb 13 2018

    console.log(now.toGMTString()) // Tue, 13 Feb 2018 02:15:40 GMT

    console.log(now.toUTCString()) // Tue, 13 Feb 2018 02:15:40 GMT

    console.log(now.toLocaleString()) // 2018/2/13 上午10:15:40

    console.log(now.toLocaleTimeString()) // 上午10:15:40

    // Date.UTC(year,month,day,hours,minutes,seconds,ms)
    const utc = Date.UTC(2005,7,8)
    console.log(utc) // 1123459200000

    console.log(now.valueOf()) // 1518488140837

对于本文内容有问题或建议的小伙伴,欢迎在文章底部留言交流讨论。