最詳細的JavaScript高級教程(十)日期和時間 Date對象

概念

js中使用utc時間保存日期和時間,即1970年1月1日零點開始經過的毫秒數保存時間。Date類型是引用類型。

定義

注意新定義一個時間如果什麼都不傳,默認值是創建的時候的當前時間

var now = new Date();
var now = new Date(22334242); // 可以傳入毫秒數初始化
var now = new Date("1/2/2019");// 可以使用字符串作爲參數,此時底層默認調用parse
var now = new Date(2000, 2, 3, 4, 5, 6);// 可以使用字符串作爲參數,此時底層默認調用UTC,但是注意時區問題,使用UTC基於0時區返回,寫在構造函數中直接使用當前時區初始化
alert(now);

構建

  • 可以使用字符串構建Date對象 Date.parse()
  • 可以使用年月日時分秒構建Date對象 Date.UTC()
var date = Date.parse("1/2/2019"); //獲取的是毫秒數
var now = new Date("1/2/2019"); //這個函數的本質是先調用parse獲取毫秒數,然後構建Date對象
alert(date); // 返回數字
alert(now);  // 返回Date字符串
var date = new Date(Date.UTC(2000, 2, 3, 4, 5, 6)); // 2000年2月3日4時5分6秒
alert(date);

注意:

  • parse可以使用很多格式的字符串做參數,比如’5/12/2019’,‘January 12,2004’,'2004-04-23T00:00:00’等,不同瀏覽器兼容的日期格式不同
  • 如果傳入的字符串不能轉換爲Date則返回NaN
  • parse和UTC都返回毫秒數,Date對象可以使用毫秒數進行初始化
  • 注意使用UTC和直接在Date構造中填寫UTC函數參數進行初始化的時候時區不同的問題

使用

可以用來輸出一段代碼執行的時間

var start = Date.now();
for(let i = 0; i < 1000; i++){
    console.log(i);
}
var end = Date.now();
alert(end - start); // 輸出12,使用了12毫秒

輸出

輸出Date對象可以使用 toString toLocalString valueOf,這幾個方法輸出的值不同的瀏覽器均不同,我們這裏簡單看一下

var date = new Date();
alert(date.toString()); //Tue Dec 03 2019 11:06:04 GMT+0800 (中國標準時間)
alert(date.toLocaleString()); //2019/12/3 上午11:06:04
alert(date.valueOf()); //1575342364419

還有一些格式化的方法,同樣因瀏覽器而異,我們下面列出來,在使用的時候挑選合適的方法進行使用
在這裏插入圖片描述

擴展方法

Date還有一些擴展方法,用於獲取特定的值,比如獲取天,比如獲取月份等,下面列出來使用的時候查詢
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章