首页 > 代码库 > 《深入理解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