一、 日期对象
- 调用 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
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
五、其他方法
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