首頁 > web前端 > js教程 > 掌握 JavaScript 中的日期與時間處理

掌握 JavaScript 中的日期與時間處理

Susan Sarandon
發布: 2024-12-28 20:30:12
原創
316 人瀏覽過

Mastering Date and Time Handling in JavaScript

JavaScript 中的日期和時間處理

JavaScript 提供了 Date 物件來處理日期和時間。它用途廣泛,提供各種方法來操作、格式化和計算日期和時間值。


1.建立日期物件

Date 物件可以透過不同的方式建立。

A.當前日期和時間

const now = new Date();
console.log(now); // Current date and time
登入後複製
登入後複製

B.具體日期和時間

const specificDate = new Date("2023-12-31T23:59:59");
console.log(specificDate); // Output: 2023-12-31T23:59:59.000Z
登入後複製
登入後複製

C.使用年、月、日等

const date = new Date(2023, 11, 31, 23, 59, 59); // Month is zero-based (11 = December)
console.log(date); // Output: Sun Dec 31 2023 23:59:59
登入後複製
登入後複製

D.時間戳

Date 物件可以使用時間戳記(自 1970 年 1 月 1 日起的毫秒數,UTC)來初始化。

const timestamp = new Date(0);
console.log(timestamp); // Output: Thu Jan 01 1970 00:00:00 UTC
登入後複製
登入後複製

2.取得日期和時間組件

Date 物件提供了提取日期特定部分的方法。

  • 年份:getFullYear()
  • 月份:getMonth()(0-11,其中0是一月)
  • 一月中的某一天:getDate()
  • 星期幾:getDay()(0-6,其中 0 是星期日)
  • 時間:getHours()
  • 分鐘:getMinutes()
  • :getSeconds()
  • 毫秒: getMilliseconds()

範例

const now = new Date();
console.log(now.getFullYear()); // Output: Current year
console.log(now.getMonth());    // Output: Current month (0-based)
console.log(now.getDate());     // Output: Current day of the month
console.log(now.getDay());      // Output: Current day of the week
console.log(now.getHours());    // Output: Current hour
登入後複製

3.修改日期與時間

您可以使用 setter 方法變更日期的特定組成部分。

  • 設定年份: setFullYear(year)
  • 設定月份: setMonth(月)
  • 設定日期: setDate(day)
  • 設定時間: setHours(小時)
  • 設定分鐘: setMinutes(分鐘)

範例

const date = new Date();
date.setFullYear(2025);
date.setMonth(11); // December
date.setDate(25);
console.log(date); // Output: A modified date
登入後複製

4.設定日期和時間的格式

A. toISOString()

回傳 ISO 8601 格式的日期。

const now = new Date();
console.log(now.toISOString()); // Output: 2023-12-31T23:59:59.000Z
登入後複製

B. toLocaleString()

以特定於區域設定的格式傳回日期和時間。

const now = new Date();
console.log(now.toLocaleString("en-US")); // Output: MM/DD/YYYY, HH:MM:SS AM/PM
console.log(now.toLocaleString("de-DE")); // Output: DD.MM.YYYY, HH:MM:SS
登入後複製

C. toDateString() 和 toTimeString()

  • toDateString():僅傳回日期部分。
  • toTimeString():僅傳回時間部分。
const now = new Date();
console.log(now.toDateString()); // Output: Wed Dec 31 2023
console.log(now.toTimeString()); // Output: 23:59:59 GMT+0000
登入後複製

5.計算日期差

您可以透過將日期轉換為時間戳來計算差異。

範例

const date1 = new Date("2023-12-31");
const date2 = new Date("2024-01-01");
const difference = date2 - date1; // Difference in milliseconds
console.log(difference / (1000 * 60 * 60 * 24)); // Output: 1 day
登入後複製

6.比較日期

使用比較運算子來比較日期。

範例

const now = new Date();
console.log(now); // Current date and time
登入後複製
登入後複製

7.使用時區

A. UTC 方法

  • getUTCFullYear()、getUTCMonth()、getUTCDate() 等傳回 UTC 格式的元件。
const specificDate = new Date("2023-12-31T23:59:59");
console.log(specificDate); // Output: 2023-12-31T23:59:59.000Z
登入後複製
登入後複製

B.轉換為時區

使用 moment.jsdate-fns 等庫進行高階時區處理。


8.產生時間戳記

A.當前時間戳記

Date.now() 方法傳回目前時間戳記(以毫秒為單位)。

const date = new Date(2023, 11, 31, 23, 59, 59); // Month is zero-based (11 = December)
console.log(date); // Output: Sun Dec 31 2023 23:59:59
登入後複製
登入後複製

B.將日期轉換為時間戳記

使用 .getTime() 方法。

const timestamp = new Date(0);
console.log(timestamp); // Output: Thu Jan 01 1970 00:00:00 UTC
登入後複製
登入後複製

9.總結

  • Date 物件對於處理日期和時間非常強大。
  • 使用 getter 和 setter 方法擷取或修改日期元件。
  • toISOString() 和 toLocaleString() 等格式選項簡化了日期表示。
  • 對於進階操作,請考慮使用第三方函式庫,例如 moment.jsdate-fns.

掌握 JavaScript 中的日期和時間處理對於涉及調度、時間戳和本地化的應用程式至關重要。

嗨,我是 Abhay Singh Kathayat!
我是一名全端開發人員,擁有前端和後端技術的專業知識。我使用各種程式語言和框架來建立高效、可擴展且用戶友好的應用程式。
請隨時透過我的商務電子郵件與我聯繫:kaashshorts28@gmail.com。

以上是掌握 JavaScript 中的日期與時間處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板