目錄
Date 對象
1. 獲取當前時間
2. 獲取特定日期時間
Date 對象的方法
1. 獲取各種日期時間組件
2. 獲取星期幾
3. 獲取時間戳
格式化日期時間
1. 使用 toLocaleString() 方法
2. 使用第三方庫
UNIX 時間戳
內部表示
時區
Date 對象
JavaScript中內置的 Date
對象可以用來操作日期和時間。
1. 獲取當前時間
使用 new Date()
來獲取當前時間:
const currentDate = new Date();
console.log(currentDate);
2. 獲取特定日期時間
可以使用 new Date()
并傳入特定的年、月、日、時、分、秒等參數來獲取特定的日期時間:
const specificDate = new Date(2023, 10, 23, 12, 30, 0);
console.log(specificDate);
Date 對象的方法
1. 獲取各種日期時間組件
Date
對象提供了多種方法用來獲取年、月、日、時、分、秒等各種日期時間組件:
const date = new Date();
const year = date.getFullYear(); // 年份
const month = date.getMonth(); // 月份(注意:返回值是 0-11)
const day = date.getDate(); // 日期
const hours = date.getHours(); // 小時
const minutes = date.getMinutes(); // 分鐘
const seconds = date.getSeconds(); // 秒數
const milliseconds = date.getMilliseconds(); // 毫秒數
2. 獲取星期幾
Date
對象的 getDay()
方法可以獲取星期幾(0 表示星期日,1 表示星期一,以此類推):
const dayOfWeek = date.getDay(); // 星期幾
3. 獲取時間戳
Date
對象的 getTime()
方法可以獲取當前時間的時間戳,即從 1970 年 1 月 1 日 00:00:00 UTC(世界標準時間)到現在的毫秒數:
const timestamp = date.getTime(); // 時間戳
格式化日期時間
1. 使用 toLocaleString()
方法
toLocaleString()
方法可以將日期時間轉換為特定地區的本地時間字符串:
const localDateTimeString = date.toLocaleString(); // 當地時間字符串
2. 使用第三方庫
為了更靈活地格式化日期時間,可以使用第三方庫,比如 moment.js
:
const formattedDateTime = moment(date).format('YYYY-MM-DD HH:mm:ss'); // 格式化后的時間字符串
UNIX 時間戳
UNIX 時間戳是指從 UNIX 紀元開始至現在的總秒數或毫秒數,這是計算機系統中廣泛使用的一種時間表示方法。在 JavaScript 中,Date
對象的 getTime()
方法返回的就是 UNIX 時間戳(毫秒數)。
const date = new Date();
const timestamp = date.getTime(); // 獲取當前時間的時間戳(毫秒數)
內部表示
Date
對象在內部以自 UNIX 紀元以來的毫秒數來表示時間。它存儲的值是一個表示指定日期的 64 位整數。
當你創建一個 Date
對象時,它會獲取當前的系統時間,并將其以毫秒數形式存儲。Date
對象提供了方法來訪問和操作年、月、日、時、分、秒等不同的時間組成部分,但其內部實現是基于毫秒數的。
時區
需要注意的是,Date
對象默認使用的時區是瀏覽器所在地的本地時區。這意味著獲取到的時間可能會受到時區影響而發生變化。可以使用 getTimezoneOffset()
方法來獲取當前時區和 UTC 時間之間的分鐘差值。
const timeZoneOffset = new Date().getTimezoneOffset(); // 獲取當前時區和 UTC 時間之間的分鐘差值
Date
對象在 JavaScript 中是基于內部的毫秒數表示時間的,但它也受到瀏覽器或運行環境的時區設置的影響。