JavaScript菜鳥教程

JavaScript 對象

JavaScript 函數(shù)

JS HTML DOM

JS 瀏覽器BOM

AJAX 菜鳥教程

JavaScript 參考手冊

JavaScript 日期(Date)

JavaScript的日期和時間

JavaScript日期對象使我們可以處理日期。

在JavaScript中,您可能想創(chuàng)建一個帶有日歷,火車時刻表或用于設(shè)置約會的界面的網(wǎng)站。

這些應(yīng)用程序需要根據(jù)用戶的當前時區(qū)顯示對應(yīng)時間。

Tue Aug 11 2020 22:34:40 GMT+0800 (中國標準時間)

日期對象

Date對象是在JavaScript內(nèi)置的對象存儲日期和時間。

它提供了許多用于格式化和管理數(shù)據(jù)的內(nèi)置方法。

日期對象是使用new Date()構(gòu)造函數(shù)創(chuàng)建的。

let now = new Date();// 將變量設(shè)置為當前日期和時間
測試看看?/?

默認情況下,JavaScript將使用瀏覽器的時區(qū)并將日期顯示為全文字符串。

創(chuàng)建日期對象

有四種創(chuàng)建新日期對象的方法。

您可以使用以下任何語法使用new Date()構(gòu)造函數(shù)創(chuàng)建Date對象。

  new Date();
  new Date(milliseconds);
  new Date(dateString);
  new Date(year, month, day, hours, minutes, seconds, milliseconds);

new Date()

在new Date()創(chuàng)建與當前日期和時間新的日期對象:

let d = new Date();
測試看看?/?

new Date(milliseconds)

new Date(milliseconds) 會創(chuàng)建一個新的日期對象,該對象為零時間加上毫秒:

let d = new Date(0);
測試看看?/?

JavaScript根據(jù)從Unix時間得出的時間戳來理解日期,該時間戳由1970年1月1日午夜以來經(jīng)過的毫秒數(shù)組成。

1970年1月1日加上252 4600000000毫秒大約是2050年1月1日:

let d = new Date(2524600000000);
測試看看?/?

new Date(dateString)

new Date(dateString) 創(chuàng)建了一個從日期字符串一個新的日期對象:

let d = new Date("July 30 1992 18:30");
測試看看?/?

new Date(year, month, ...)

將創(chuàng)建一個具有指定日期和時間新的日期對象:new Date(year, month, ...)

7個數(shù)字指定年,月,日,小時,分鐘,秒和毫秒(按此順序):

let d = new Date(2019, 0, 26, 10, 40, 30, 0);
測試看看?/?

在上面的示例中,我們的秒和毫秒設(shè)置為30和0。

如果創(chuàng)建日期缺少任何數(shù)字,則默認為0。

但是,順序不能更改,因此,如果您決定省略一個數(shù)字,請記住這一點。

您可能還會注意到,一月的月份用0表示,而不是通常的1。

這是因為日期和時間數(shù)字從0開始,就像編程中的大多數(shù)計數(shù)一樣。

JavaScript的月份從0到11。一月是0,十二月是11。

日期方法

創(chuàng)建Date對象時,可以使用多種方法對其進行操作。

使用日期方法,您可以使用本地時間或UTC(通用或GMT)時間來獲取設(shè)置日期,年,月,日,時,分,秒和毫秒。

檢索(獲取)日期

有了對象日期后,就可以使用各種內(nèi)置方法訪問日期的所有組件。

這些方法將返回相對于當?shù)貢r區(qū)的日期的每個部分。

這些方法中的每一個都以get開頭,并將返回相對編號。

下表是Date對象的get方法的表:

方法Date/Time范圍(Range)
getFullYear()根據(jù)本地時間返回指定日期對象的年份(四位數(shù)年份時返回四位數(shù)字:YYYY)。
getMonth()根據(jù)本地時間返回指定日期對象的月份(0-11),(0=一月)。
getDate()第幾天(當月)根據(jù)本地時間返回指定日期對象的月份中的第幾天(1-31)。
getDay()一周中的第幾天根據(jù)本地時間返回指定日期對象的一周中的第幾天(0-6),(0 =星期日)。
getHours()小時根據(jù)本地時間返回指定日期對象的小時(0-23)。
getMinutes()分鐘根據(jù)本地時間返回指定日期對象的分鐘(0-59)。
getSeconds()根據(jù)本地時間返回指定日期對象的秒數(shù)(0-59)。
getMilliseconds()毫秒根據(jù)本地時間返回指定日期對象的毫秒(0-999)。
getTime()時間戳

返回從1970-1-1 00:00:00 UTC(協(xié)調(diào)世界時)到該日期經(jīng)過的毫秒數(shù)

對于1970-1-1 00:00:00 UTC之前的時間返回負值。

getFullYear()方法

getFullYear()方法以四位數(shù)的數(shù)字返回日期的年份。

var d = new Date();
d.getFullYear();
測試看看?/?

getMonth()方法

getMonth()方法以數(shù)字(0到11)返回一年中的月份。

var d = new Date();
d.getMonth();
測試看看?/?

JavaScript的月份從0到11。一月是0,十二月是11。

在以下示例中,month變量保存月份的名稱:

var arr = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
var d = new Date();
var month = arr[d.getMonth()];
測試看看?/?

getDate()方法

getDate()方法以數(shù)字(1-31)形式返回月份中的某天。

var d = new Date();
d.getDate();
測試看看?/?

getDay()方法

getDay()方法以數(shù)字(0-6)返回星期幾。

var d = new Date();
d.getDay();
測試看看?/?

JavaScript將工作日從0到6進行計數(shù)。星期日為0,星期六為6。

在下面的示例中,Today變量保存日期名稱:

var arr = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
var d = new Date();
var today = arr[d.getDay()];
測試看看?/?

getHours()方法

getHours()方法將日期的小時數(shù)返回為數(shù)字(0-23)。

var d = new Date();
d.getHours();
測試看看?/?

getMinutes()方法

getMinutes()方法將日期的分鐘數(shù)返回為數(shù)字(0-59)。

var d = new Date();
d.getMinutes();
測試看看?/?

getSeconds()方法

getSeconds()方法將日期的秒數(shù)返回為數(shù)字(0-59)。

var d = new Date();
d.getSeconds();
測試看看?/?

getMilliseconds()方法

getMilliseconds()方法以數(shù)字(0-999)的形式返回日期的毫秒數(shù)。

var d = new Date();
d.getMilliseconds();
測試看看?/?

getTime()方法

getTime()方法返回自1970年1月1日以來的毫秒數(shù)。

var d = new Date();
d.getTime();
測試看看?/?

一天(24小時)為8,640萬毫秒。

修改日期(設(shè)置)

對于上面我們學到的所有get方法,都有一個對應(yīng)的set方法。

如果使用get從日期中檢索特定的組成部分,則使用set來修改日期的組成部分。

下表是Date對象的set方法的表:

方法Date/Time范圍
setFullYear()設(shè)置完整年份YYYY
setMonth()設(shè)置月份0-11(0 =一月)
setDate()設(shè)置為某天(當月)1-31
setDay()設(shè)置一周中的某天0-6(0 =星期日)
setHours()設(shè)置小時0-23
setMinutes()設(shè)置分鐘0-59
setSeconds()設(shè)置秒數(shù)0-59
setMilliseconds()設(shè)置毫秒0-999
setTime()設(shè)置時間戳

通過指定從 1970-1-1 00:00:00 UTC 開始經(jīng)過的毫秒數(shù)來設(shè)置日期對象的時間

對于早于 1970-1-1 00:00:00 UTC的時間可使用負值。

setFullYear()方法

setFullYear()方法設(shè)置日期對象的年份。

var d = new Date();
d.setFullYear(2010);
測試看看?/?

setFullYear()方法可以選擇設(shè)置月和日。

var d = new Date();
d.setFullYear(2010, 8, 30);
測試看看?/?

setMonth()方法

setMonth()方法設(shè)置日期對象的月份(0-11)。

var d = new Date();
d.setMonth(11);
測試看看?/?

setDate()方法

setDate()方法設(shè)置日期對象的月份中的某一天(1-31)。

var d = new Date();
d.setDate(22);
測試看看?/?

setHours()方法

setHours()方法設(shè)置日期對象的小時數(shù)(0-23)。

var d = new Date();
d.setHours(18);
測試看看?/?

setMinutes()方法

setMinutes()方法設(shè)置日期對象的分鐘數(shù)(0-59)。

var d = new Date();
d.setMinutes(32);
測試看看?/?

setSeconds()方法

setSeconds()方法設(shè)置日期對象的秒數(shù)(0-59)。

var d = new Date();
d.setSeconds(24);
測試看看?/?

setMilliseconds()方法

setMilliseconds()方法設(shè)置日期對象的毫秒數(shù)(0-999)。

var d = new Date();
d.setMilliseconds(420);
document.getElementById('result').innerHTML = d.getMilliseconds();
測試看看?/?

setTime()方法

setTime()方法將Date對象設(shè)置為自1970年1月1日以來的毫秒數(shù)。

var d = new Date();
d.setTime(1542655292087);
測試看看?/?

使用UTC的日期方法

    上面討論的get方法根據(jù)用戶的本地時區(qū)設(shè)置檢索日期組件。

為了更好地指定日期和時間,可以使用getUTC方法,該方法與get方法完全相同,不同之處在于它們根據(jù)UTC(世界標準時間)標準計算時間。

下表是JavaScript Date對象的UTC方法的表:

方法Date/Time范圍
getUTCFullYear()YYYY
getUTCMonth()0-11(0 =一月)
getUTCDate()某一天(當月)1-31
getUTCDay()一周中的某天0-6(0 =星期日)
getUTCHours()小時0-23
getUTCMinutes()分鐘0-59
getUTCSeconds()0-59
getUTCMilliseconds()毫秒0-999

要知道 本地時間(local) 和 UTC get方法之間的區(qū)別,我們可以運行以下代碼:

let now = new Date();

// 打印本地時間和UTC時區(qū)(local 和 UTC)
document.write(now.getHours());
document.write(now.getUTCHours());
測試看看?/?

運行此代碼將打印出當前時間以及UTC時區(qū)的時間。如果您當前處于UTC時區(qū),則運行上述程序所輸出的數(shù)字將相同。

更多示例

在此示例中,JavaScript顯示當前時間。

10:38:2
測試看看

完整日期參考

要獲取完整的屬性和方法參考,請訪問我們的JavaScript日期參考。

參考部分包含所有Date屬性和方法的描述和示例。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清