JavaScript中Date學習記錄_013

xiaoping發表於2019-02-16

JavaScript中Date物件學習記錄

Date 例項用來處理日期和時間。Date物件基於1970年1月1日(世界標準時間)起的毫秒數。

JavaScript 的Date物件提供了數個UTC時間的方法,也相應提供了當地時間的方法。UTC,也就是我們所說的格林威治時間,指的是time中的世界時間標準。而當地時間則是指執行JavaScript的客戶端電腦所設定的時間。

Date 建構函式


new Date();
//Sun Jan 06 2019 20:18:04 GMT+0800 (中國標準時間)

new Date(value); 
//value 代表自1970年1月1日00:00:00 (世界標準時間) 起經過的毫秒數。
new Date(000000000000);

//Thu Jan 01 1970 08:00:00 GMT+0800 (中國標準時間)

new Date(dateString);
//dateString表示日期的字串值。該字串應該能被 Date.parse() 方法識別
new Date("2019.01.01");
//Tue Jan 01 2019 00:00:00 GMT+0800 (中國標準時間)

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

//year代表年份的整數值。為了避免2000年問題最好指定4位數的年份; 使用 1998, 而不要用 98.
//month代表月份的整數值從0(1月)到11(12月)。
//day代表一個月中的第幾天的整數值,從1開始。
//hour代表一天中的小時數的整數值 (24小時制)。
// minute分鐘數。
// second秒數。
//millisecond表示時間的毫秒部分的整數值。

new Date(2019,01,01,01,01,01);

//Fri Feb 01 2019 01:01:01 GMT+0800 (中國標準時間)

Date方法

Date.now()

返回自 1970-1-1 00:00:00 UTC (世界標準時間)至今所經過的毫秒數,型別為Number。

Date.now()
//1546777708417

Date.parse()

解析一個表示日期的字串,並返回從 1970-1-1 00:00:00 所經過的毫秒數。

Date.parse("2019.01.01")
//1546272000000

Date.parse(`01 Jan 1970 00:00:00 GMT`);
//0

Date.UTC()

接受和建構函式最長形式的引數相同的引數(從2到7),並返回從 1970-01-01 00:00:00 UTC 開始所經過的毫秒數。

  • year:1900 年後的某一年份。
  • month:0 到 11 之間的一個整數,表示月份。
  • date:1 到 31 之間的一個整數,表示某月當中的第幾天。
  • hrs:0 到 23 之間的一個整數,表示小時。
  • min:0 到 59 之間的一個整數,表示分鐘。

sec 0 到 59 之間的一個整數,表示秒。
ms
0 到 999 之間的一個整數,表示毫秒。

new Date(Date.UTC(2019, 0, 0, 0, 0, 1));
//Mon Dec 31 2018 08:00:01 GMT+0800 (中國標準時間)

時間戳格式轉換

  dateFormmat(time) {
    let date = new Date(time * 1000); //如果date為13位不需要乘1000
    let Ye = date.getFullYear() + `/`;
    let Mo =
      (date.getMonth() + 1 < 10
        ? `0` + (date.getMonth() + 1)
        : date.getMonth() + 1) + `/`;
    let Da =
      (date.getDate() < 10 ? `0` + date.getDate() : date.getDate()) + ` `;
    let hh =
      (date.getHours() < 10 ? `0` + date.getHours() : date.getHours()) + `:`;
    let mm =
      (date.getMinutes() < 10 ? `0` + date.getMinutes() : date.getMinutes()) +
      `:`;
    let ss =
      date.getSeconds() < 10 ? `0` + date.getSeconds() : date.getSeconds();
    return Ye + Mo + Da +hh + mm + ss
  }
  
//let value=dateFormmat(1234567890)
//console.log(value)
//2009/02/14 07:31:30

Date 例項-(get)

所有的 Date 例項都繼承自 Date.prototype。修改 Date 建構函式的原型物件會影響到所有的 Date 例項。

Date.getDate()

根據本地時間,返回一個指定的日期物件為一個月中的第幾天。getDate() 返回一個1 到 31的整數值

let date = new Date("December 25, 2019 11:11:00");
let day = date.getDate();

console.log(day)
//25

Date.getDay()

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

Date.getFullYear()

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

Date.getMonth()

根據本地時間,返回一個指定的日期物件的月份,為基於0的值(0表示一年中的第一月)。

Date.getHours()

getHours() 方法根據本地時間,返回一個指定的日期物件的小時。getHours返回一個0 到 23之間的整數值。

Date.getMinutes()

getMinutes() 方法根據本地時間,返回一個指定的日期物件的分鐘數。getMinutes 返回一個0 到 59的整數值

Date.getSeconds()

getSeconds() 方法根據本地時間,返回一個指定的日期物件的秒數,返回一個 0 到 59 的整數值。

Date.getMilliseconds()

getMilliseconds() 方法,根據本地時間,返回一個指定的日期物件的毫秒數。getMilliseconds() 方法返回一個0 到 999的整數。

Date.getTime()

getTime 方法的返回值一個數值,表示從1970年1月1日0時0分0秒(UTC,即協調世界時)距離該日期物件所代表時間的毫秒數。

Date 例項-(set)

Date.setDate()

setDate() 方法根據本地時間來指定一個日期物件的天數。
如果 dayValue 超出了月份的合理範圍,setDate 將會相應地更新 Date 物件。例如,如果為 dayValue 指定0,那麼日期就會被設定為上個月的最後一天。

Date.setFullYear()

setFullYear() 方法根據本地時間為一個日期物件設定年份
如果有一個引數超出了合理的範圍,setFullYear 方法會更新其他引數值,日期物件的日期值也會被相應更新。 例如,為 monthValue 指定 15, 則年份會加1,月份值會為3。

Date.setHours()

setHours() 方法根據本地時間為一個日期物件設定小時數,返回從1970-01-01 00:00:00 UTC 到更新後的 日期 物件例項所表示時間的毫秒數。

如果有一個引數超出了合理範圍,setHours 會相應地更新日期物件中的日期資訊。例如,如果為 secondsValue 指定了 100,則分鐘會加 1,然後秒數使用 40。

Date.setMilliseconds()

setMilliseconds() 方法會根據本地時間設定一個日期物件的豪秒數。

如果指定的數字超出了合理範圍,則日期物件的時間資訊會被相應地更新。例如,如果指定了 1005,則秒數加 1,豪秒數為 5。

Date.setMinutes()

setMinutes() 方法根據本地時間為一個日期物件設定分鐘數。

如果有一個指定的引數超出了合理範圍,setMinutes 會相應地更新日期物件中的時間資訊。例如,為 secondsValue 指定 100,分鐘數將會加 1,而秒數會為 40。

Date.setMonth()

setMonth() 方法根據本地時間為一個設定年份的日期物件設定月份

如果有一個指定的引數超出了合理範圍,setMonth 會相應地更新日期物件中的日期資訊。例如,為 monthValue 指定 15,則年份會加 1,月份將會使用 3。

Date.setSeconds()

setSeconds() 方法根據本地時間設定一個日期物件的秒數。

如果一個引數超出了合理範圍, setSeconds 方法會相應地更新日期物件的時間資訊。例如,為 secondsValue 指定 100,則日期物件的分鐘數會相應地加 1,秒數將會使用 40。

Date.setTime()

setTime() 方法以一個表示從1970-1-1 00:00:00 UTC計時的毫秒數為來為 Date 物件設定時間。

https://developer.mozilla.org…

相關文章