JavaScript引用類型---Date

1、建立Date實例對象

1.new Date();依據系統設置的當前時間來建立一個Date對象

let today = new Date();
    console.log(today); //Thu Jun 14 2018 14:51:00 GMT+0800 (CST)

2.new Date(value);

參數:value  表明自1970年1月1日00:00:00 (世界標準時間) 起通過的毫秒數函數

let day = new Date(1528959690000);
    console.log(day); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)

3.new Date(dateString);

參數:dateString  表示日期的字符串值。該字符串應該能被 Date.parse() 方法識別prototype

let day1 = new Date("2018-06-14T07:01:30.000Z");
    console.log(day1); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)

4.new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

參數:code

  • year  表明年份的整數值,爲了不2000年問題最好指定4位數的年份; 使用 1998, 而不要用 98
  • month  表明月份的整數值從0(1月)到11(12月)
  • day  表明一個月中的第幾天的整數值,從1開始
  • hour  表明一天中的小時數的整數值 (24小時制)
  • minute  分鐘數
  • second  秒數
  • millisecond  表示時間的毫秒部分的整數值
let day2 = new Date(2018,5,14);
    console.log(day2); //Thu Jun 14 2018 00:00:00 GMT+0800 (CST)

    let day3 = new Date(2018,5,14,15,1,30);
    console.log(day3); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)

2、Date靜態屬性

1.Date.prototype 表示Date構造函數的原型

Date實例繼承自Date.prototype,你能夠使用構造函數的原型對象向全部Date實例添加屬性或方法orm

3、Date靜態方法

1.Date.UTC() 方法返回從1970-1-1 00:00:00 UTC到指定日期的的毫秒數

語法:Date.UTC(year,month[,date[,hrs[,min[,sec[,ms]]]]])
參數:對象

  • year  1900 年後的某一年份
  • month  0 到 11 之間的一個整數,表示月份
  • date  1 到 31 之間的一個整數,表示某月當中的第幾天
  • hrs  0 到 23 之間的一個整數,表示小時
  • min  0 到 59 之間的一個整數,表示分鐘
  • sec  0 到 59 之間的一個整數,表示秒
  • ms  0 到 999 之間的一個整數,表示毫秒
let utcDate = new Date(Date.UTC(2018, 5, 14, 7, 1, 30));
    console.log(Date.UTC(2018, 5, 14, 7, 1, 30)); //1528959690000
    console.log(utcDate); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)

2.Date.now() 方法返回自1970年1月1日 00:00:00 UTC到當前時間的毫秒數

let nowDate = new Date(Date.now());
    console.log(nowDate); //Fri Jun 15 2018 16:31:05 GMT+0800 (CST)
    console.log(Date.now()); //1529051465358

3.Date.parse()方法返回一個表示從1970-1-1 00:00:00 UTC到給定日期字符串所表示時間的毫秒數的數值

語法:Date.parse(dateString)繼承

參數:dateString   一個符合 RFC2822 或 ISO 8601 日期格式的字符串字符串

返回值:返回一個從1970-1-1 00:00:00 UTC到給定日期字符串所表示時間的毫秒數的數值。若是參數不能解析爲一個有效的日期,則返回NaNget

let time = Date.parse('2018-06-14T07:01:30.000Z');
    console.log(time);// 1528959690000

4、Date實例方法

1.年

setFullYear() 方法根據本地時間爲一個日期對象設置年份

語法:dateObj.setFullYear(yearValue[, monthValue[, dayValue]])
參數:原型

  • yearValue  指定年份的整數值,例如1995。
  • monthValue  一個0到11之間的整數值,表示從一月到十二月。
  • dayValue  一個1到31之間的整數值,表示月份中的第幾天。若是你指定了 dayValue 參數,就必須同時指定monthValue

getFullYear() 方法根據本地時間返回指定日期的年份

語法:dateObj.getFullYear()
返回值:根據當地時間,返回一個對應於給定日期的年份數字console

let date1 = new Date(1528959690000);
    console.log(date1); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date1.setFullYear(2017)); //1497423690000
    console.log(date1.getFullYear()); //2017

setUTCFullYear() 方法根據世界標準時間爲一個具體日期設置年份

語法:dateObj.setUTCFullYear(yearValue[, monthValue[, dayValue]])
參數:

  • yearValue  指定年份整數值,例如,1995
  • monthValue  可選,指定一個0-11之間的整數值,表明從一月到十二月
  • dayValue  可選,指定一個1-31之間的整數值,表明月份中的第幾天,若是你指定了dayValue參數,那麼你必須指定monthValue參數

getUTCFullYear() 以世界時爲標準,返回一個指定的日期對象的年份

語法:dateObj.getUTCFullYear()
返回值:返回一個絕對數值,符合 Year-2000 標準,例如 1995

let day1 = new Date(1528959690000);
console.log(day1.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
console.log(day1.setUTCFullYear(2017)); //1497423690000
console.log(day1.getUTCFullYear()); //2017

2.月

setMonth() 方法根據本地時間爲一個設置年份的日期對象設置月份

語法:dateObj.setMonth(monthValue[, dayValue])
參數:

  • monthValue  介於 0 到 11 之間的整數(表示一月到十二月)
  • dayValue  從 1 到 31 之間的整數,表示月份中的第幾天

getMonth() 方法根據本地時間,返回一個指定的日期對象的月份

語法:dateObj.getMonth()
返回值:返回一個0 到 11的整數值: 0 表明一月份,1 表明二月份, 2 表明三月份,依次類推

let date2 = new Date(1528959690000);
    console.log(date2); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date2.setMonth(4)); //1526281290000
    console.log(date2.getMonth()); //4

setUTCMonth()方法根據通用的時間來設置一個準確的月份

語法:dateObj.setUTCMonth(monthValue[, dayValue])
參數:

  • monthValue  一個0-11的整數,表明1月到12月
  • dayValue  可選參數,一個1-31的整數,表明一個月的天數

getUTCMonth方法以世界時爲標準,返回一個指定的日期對象的月份,它是從 0 開始計數的(0 表明一年的第一個月)

語法:dateObj.getUTCMonth()
返回值:返回一個 0 到 11 的整數,分別對應如下月份:0 表明一月,1 表明二月,2 表明三月,依次類推

let day2 = new Date(1528959690000);
    console.log(day2.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day2.setUTCMonth(4)); //1526281290000
    console.log(day2.getUTCMonth()); //4

3.日

setDate() 方法根據本地時間來指定一個日期對象的天數

語法:dateObj.setDate(dayValue)
參數:dayValue  一個整數,表示該月的第幾天

getDate() 根據本地時間,返回一個指定的日期對象爲一個月中的第幾天

語法:dateObj.getDate()
返回值:返回一個1 到 31的整數值

let date3 = new Date(1528959690000);
    console.log(date3); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date3.setDate(21)); //1529564490000
    console.log(date3.getDate()); //21

setUTCDate() 方法就是根據全球時間設置特定date對象的日期

語法:dateObj.setUTCDate(dayValue)
參數:dayValue  一個1-31的整形數字,用來指定日期

getUTCDate() 方法以世界時爲標準,返回一個指定的日期對象爲一個月中的第幾天

語法:dateObj.getUTCDate()
返回值:返回一個 1 到 31 的整數值

let day3 = new Date(1528959690000);
    console.log(day3.toUTCString()); ////Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day3.setUTCDate(25)); //1529910090000
    console.log(day3.getUTCDate()); //25

4.星期幾

getDay() 方法根據本地時間,返回一個具體日期中一週的第幾天,0 表示星期天

語法:dateObj.getDay()
返回值:返回一個整數值: 0 表明星期日, 1 表明星期一,2 表明星期二, 依次類推

let date = new Date(1528959690000);
    console.log(date); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date.getDay()); //4

getUTCDay() 方法以世界時爲標準,返回一個指定的日期對象爲一星期中的第幾天,其中 0 表明星期天

語法:dateObj.getUTCDay()
返回值:返回一個對應一星期中第幾天的整數:0 表明星期天,1 表明星期一,2 表明星期二,依次類推

5.時

setHours() 方法根據本地時間爲一個日期對象設置小時數

語法:dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
參數:

  • hoursValue  一個 0 到 23 的整數,表示小時
  • minutesValue  一個 0 到 59 的整數,表示分鐘
  • secondsValue  一個 0 到 59 的整數,表示秒數,若是指定了 secondsValue 參數,則必須同時指定 minutesValue 參數
  • msValue  一個 0 到 999 的數字,表示微秒數,若是指定了 msValue 參數,則必須同時指定 minutesValue 和 secondsValue 參數

getHours() 方法根據本地時間,返回一個指定的日期對象的小時

語法:dateObj.getHours()
返回值:返回一個0 到 23之間的整數值

let date4 = new Date(1528959690000);
    console.log(date4); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date4.setHours(11)); //1528945290000
    console.log(date4.getHours()); //11

setUTCHours() 方法就是根據全球時間設置特定date對象的小時數

語法:dateObj.setUTCHours(hoursValue[, minutesValue[, secondsValue[, msValue]]])
參數:

  • hoursValue  表示小時的整數,取值0到23之間
  • minutesValue  可選參數,表示分鐘的整數,取值0到59之間
  • secondsValue  可選參數,表示秒數的整數,取值0到59之間;若是指定了該參數,就要同時指定minutesValue這個參數
  • msValue  可選參數,表示毫秒的整數,取值0到999之間;若是指定了該參數,就要指定minutesValue和secondsValue這兩個參數

getUTCHours() 方法以世界時爲標準,返回一個指定的日期對象的小時數

語法:dateObj.getUTCHours()
返回值:返回一個 0 到 23 的整數

let day4 = new Date(1528959690000);
    console.log(day4.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day4.setUTCHours(15)); //1528988490000
    console.log(day4.getUTCHours()); //15

6.分

setMinutes() 方法根據本地時間爲一個日期對象設置分鐘數

語法:dateObj.setMinutes(minutesValue[, secondsValue[, msValue]])
參數:

  • minutesValue  一個 0 到 59 的整數,表示分鐘數。
  • secondsValue  一個 0 到 59 的整數,表示秒數,若是指定了 secondsValue 參數,則必須同時指定 minutesValue 參數。
  • msValue  一個 0 到 999 的數字,表示微秒數,若是指定了 msValue 參數,則必須同時指定 minutesValue和secondsValue 參數

getMinutes() 方法根據本地時間,返回一個指定的日期對象的分鐘數

語法:dateObj.getMinutes()
返回值:返回一個0 到 59的整數值

let date5 = new Date(1528959690000);
    console.log(date5); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date5.setMinutes(30)); //1528961430000
    console.log(date5.getMinutes()); //30

setUTCMinutes()方法會根據根據全球時間來設置指定日期的分鐘數

語法:dateObj.setUTCMinutes(minutesValue[, secondsValue[, msValue]])
參數:

  • minutesValue  必填,表示要設置的分鐘數,是一個介於0和59之間的整數
  • secondsValue  可選參數,表示要設置的秒數,一樣也是一個介於0和59之間的整數,若是你傳入了這個參數,那麼你就必需要傳入minutesValue
  • msValue  可選參數,表示要設置的毫秒數,這是一個介於0和999之間的數字,若是你傳入了這個參數,那麼你就必需要傳入minutesValue和secondsValue

getUTCMinutes() 方法以世界時爲標準,返回一個指定的日期對象的分鐘數

語法:dateObj.getUTCMinutes()
返回值:返回一個 0 到 59 的整數

let day5 = new Date(1528959690000);
    console.log(day5.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day5.setUTCMinutes(45)); //1528962330000
    console.log(day5.getUTCMinutes()); //45

7.秒

setSeconds() 方法根據本地時間設置一個日期對象的秒數

語法:dateObj.setSeconds(secondsValue[, msValue])
參數:

  • secondsValue  一個 0 到 59 的整數
  • msValue  一個 0 到 999 的數字,表示微秒數

getSeconds() 方法根據本地時間,返回一個指定的日期對象的秒數

語法:dateObj.getSeconds()
返回值:返回一個 0 到 59 的整數值

let date6 = new Date(1528959690000);
    console.log(date6); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date6.setSeconds(40)); //1528959700000
    console.log(date6.getSeconds()); //40

setUTCSeconds() 方法爲一個依據國際通用時間的特定日期設置秒數

語法:dateObj.setUTCSeconds(secondsValue[, msValue])
參數:
       

  • secondsValue  一個在0到59之間的整數,表示秒數
  • msValue  可選參數,一個0到999之間的數字,表明毫秒數

getUTCSeconds() 方法以世界時爲標準,返回一個指定的日期對象的秒數

語法:dateObj.getUTCSeconds()
返回值:返回一個 0 到 59 的整數

let day6 = new Date(1528959690000);
    console.log(day6.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day6.setUTCSeconds(50)); //1528959710000
    console.log(day6.getUTCSeconds()); //50

8.毫秒

setMilliseconds() 方法會根據本地時間設置一個日期對象的豪秒數

語法:dateObj.setMilliseconds(millisecondsValue)
參數:millisecondsValue  一個 0 到 999 的數字,表示豪秒數

getMilliseconds() 方法,根據本地時間,返回一個指定的日期對象的毫秒數

語法:dateObj.getMilliseconds()
返回值:方法返回一個0 到 999的整數

let date7 = new Date(1528959690000);
console.log(date7); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
console.log(date7.setMilliseconds(100)); //1528959690100
console.log(date7.getMilliseconds()); //100

setUTCMilliseconds() 方法會根據世界時來設置指定時間的毫秒數

語法:dateObj.setUTCMilliseconds(millisecondsValue)
參數:millisecondsValue  0 - 999 之間的數值,表明毫秒數

getUTCMilliseconds() 方法以世界時爲標準,返回一個指定的日期對象的毫秒數

語法:dateObj.getUTCMilliseconds()
返回值:返回一個 0 到 999 的整數

let day7 = new Date(1528959690000);
    console.log(day7.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
    console.log(day7.setUTCMilliseconds(900)); //1528959690900
    console.log(day7.getUTCMilliseconds()); //900

9.time

setTime() 方法以一個表示從1970-1-1 00:00:00 UTC計時的毫秒數爲來爲 Date 對象設置時間

語法:dateObj.setTime(timeValue)
參數:timeValue  一個整數,表示從1970-1-1 00:00:00 UTC開始計時的毫秒數

getTime() 方法返回一個時間的格林威治時間數值,這個方法的功能和 valueOf() 方法同樣

語法:dateObj.getTime()
返回值:返回一個從1970年1月1日0時0分0秒(UTC,即協調世界時)距離該日期對象所表明時間的毫秒數

let date8 = new Date(1528959690000);
    console.log(date8); //Thu Jun 14 2018 15:01:30 GMT+0800 (CST)
    console.log(date8.setTime(1528959690100)); //1528959690100
    console.log(date8.getTime()); //1528959690100

10.獲取時間字符串

  • toDateString() 方法以美式英語和人類易讀的形式返回一個日期對象日期部分的字符串
  • toTimeString() 方法以人類易讀形式返回一個日期對象時間部分的字符串
  • toUTCString() 方法把一個日期轉換爲一個字符串,使用UTC時區
  • toISOString() 方法返回一個 ISO(ISO 8601 Extended Format)格式的字符串:
    YYYY-MM-DDTHH:mm:ss.sssZ
  • toJSON() 方法返回 Date 對象的字符串形式
  • toLocaleString() 方法返回該日期對象的字符串,該字符串格式因不一樣語言而不一樣
  • toLocaleDateString() 方法返回該日期對象日期部分的字符串,該字符串格式因不一樣語言而不一樣
  • toLocaleTimeString() 方法返回該日期對象時間部分的字符串,該字符串格式因不一樣語言而不一樣
  • valueOf() 方法返回一個 Date 對象的原始值
let day9 = new Date(1528959690000);
console.log(day9); //Thu Jun 14 2018 15:01:30 GMT+0800 (中國標準時間)
console.log(day9.toString()); //Thu Jun 14 2018 15:01:30 GMT+0800 (中國標準時間)
console.log(day9.toDateString()); //Thu Jun 14 2018
console.log(day9.toTimeString()); //15:01:30 GMT+0800 (中國標準時間)
console.log(day9.toUTCString()); //Thu, 14 Jun 2018 07:01:30 GMT
console.log(day9.toISOString()); //2018-06-14T07:01:30.000Z
console.log(day9.toJSON()); //2018-06-14T07:01:30.000Z
console.log(day9.toLocaleString()); //2018/6/14 下午3:01:30
console.log(day9.toLocaleDateString()); //2018/6/14
console.log(day9.toLocaleTimeString()); //下午3:01:30
console.log(day9.valueOf()); //1528959690000
相關文章
相關標籤/搜索