首页 > 代码库 > 《深入理解JavaScript》—— Date
《深入理解JavaScript》—— Date
(1) Date构造函数
可以通过以下四种方式调用Date函数
① new Date(year,month,date?,hours?,minutes?,seconds?,milliseconds?)
参数范围:
year: 建议直接使用4位数的年份
month: 月 0~11(0为一月份,以此类推)
date: 日 1~31
hours: 时 0~23
minutes: 分 0~59
seconds: 秒 0~59
milliseconds: 毫秒 0~999
例如:
console.log( new Date(2016,9,23,12,6,5) ); // Date {Sun Oct 23 2016 12:06:05 GMT+0800}
② new Date(dateTimeStr)
调用这个方法可以将日期时间字符串转换成数字。
非法的字符串会将NaN传递给new Date(number)。
例如:
console.log( new Date(‘2016-9-26‘) ); // Date {Mon Sep 26 2016 08:00:00 GMT+0800}
③ new Date(timeValue)
用1970年1月1日00:00:00UTC以来的毫秒数创建一个日期。
④ new Date()
用当前的日期和实践创建一个日期对象。相当于new Date(Date.now())。
(2) Date构造函数方法
① Date.now(): 该函数以毫秒为单位返回当前的日期和时间(从1970年1月1日00:00:00UTC开始计算)。它产生的结果等同于new Date().getTime()。
② Date.parse(dateTimeString): 该函数将dateTimeString转换成毫秒(从1970年1月1日00:00:00UTC开始计算)。如果它无法解析某字符串,便会返回NaN。
var date = Date.parse(‘2016-10-22‘); console.log(date); // 1477094400000
③ Date.UTC (year,month,date?,hours?,minutes?,seconds?,milliseconds?)
(3) Date原型方法
1. 时间单位的getter和setter方法
① 当地时间:
—— Date.prototype.get《Unit》() 根据当地时间返回单位时间。
—— Date.prototype.set《Unit》() 根据当地时间设置单位时间。
② 世界时间
—— Date.prototype.getUTC《Unit》() 根据世界时间返回单位时间。
—— Date.prototype.getUTC《Unit》() 根据世界时间设置单位时间。
下面是Unit可以表示的单位:
FullYear: 年,通常是四位数
Month: 月(0~11)
Date:日(1~31)
Day:(仅用于getter方法):星期(0~6);0为星期日
Hours: 时(0~23)
Minutes: 分(0~59)
Second: 秒(0~59)
Milliseconds: 毫秒(0~999)
2. 各种各样的getter和setter方法
① Date.prototype.getTime(): 返回毫秒数(从1970年1月1日00:00:00UTC开始计算)。
② Date.prototype.setTime(timeValue): 以毫秒(从1970年1月1日00:00:00UTC开始计算)为单位指定日期。
③ Date.prototype.valueOf(): 与getTime()方法等同。当日期转换成数值的时候调用这个方法。
④ Date.prototype.getTimezoneOffset(): 以分钟为单位返回当地时间与世界时间的偏差。
3. 将日期转换成字符串
① 时间(人可读)
—— Date.prototype.toTimeString(): 返回当前时区的时间。
—— Date.prototype.toLocalTimeString(): 返回时间的格式是具备地区特性的。
② Date(人可读)
—— Date.prototype.toDateString(): 返回日期。
—— Date.prototype.toLocalDateString(): 返回日期的格式是具备地区特性的。
③ 日期和时间(人可读)
—— Date.prototype.toString(): 返回的日期和时间落在当前的时区中。
—— Date.prototype.toLoaclString(): 返回的事件格式是具备地区特性的。
—— Date.prototype.toUTCString(): 返回日期和时间(世界时间)。
④ 日期和时间(机器可读)
—— Date.prototype.toISOString(): 返回的内部属性都出现在返回的字符串中。
—— Date.prototype.toJSON(): 在这方法在内部调用toISOString()方法。它是利用JSON.stringify()方法以日期为对象转换成JSON字符串。
《深入理解JavaScript》—— Date