ES Date類型詳解

一、Date類型簡介

Date類型是Javascript中的內置對象,用於處理日期和時間相關的數據。

在JavaScript中,Date類型的實例是從1970年1月1日00:00:00以來的毫秒數。可以使用以下任何一種方式創建一個Date對象:

//不帶參數的構造函數,創建當前系統的時間
const date1 = new Date();
//傳遞一個代表指定日期的字元串作為參數,注意字元串必須符合GMT格式
const date2 = new Date("January 1 2019");
//傳遞一個代表指定日期的時間戳作為參數
const date3 = new Date(1589565564318);

二、Date類型方法

1. 獲取年份、月份、日期、小時、分鐘、秒數等

可以使用以下方法獲取Date對象的具體時間信息:

  • getFullYear() 返回一個表示年份的四位數字
  • getMonth() 返回0~11表示月份
  • getDate() 返回1~31表示每月的日期數
  • getHours() 返回0~23表示小時數
  • getMinutes() 返回0~59表示分鐘數
  • getSeconds() 返回0~59表示秒數
  • getMilliseconds() 返回0~999表示毫秒數
const date = new Date();
console.log(date.getFullYear()); // 返回當前年份
console.log(date.getMonth()); // 返回當前月份
console.log(date.getDate()); // 返回當前日期
console.log(date.getHours()); // 返回當前小時
console.log(date.getMinutes()); // 返回當前分鐘
console.log(date.getSeconds()); // 返回當前秒數
console.log(date.getMilliseconds()); // 返回當前毫秒數

2. 時間的比較

可以使用以下方法比較兩個時間的先後順序:

  • getTime() 返回一個代表日期的時間戳,該時間戳表示從1970年1月1日00:00:00以來的毫秒數。
  • valueOf() 返回一個代表日期的時間戳,可以直接進行數字比較。
  • getTimezoneOffset() 返回當前時區與UTC的時間差,單位為分鐘。
const date1 = new Date("January 1 2020");
const date2 = new Date("January 1 2021");
if (date1.getTime() < date2.getTime()) {
  console.log("date1在date2之前");
}
if (date1.valueOf() < date2.valueOf()) {
  console.log("date1在date2之前");
}
console.log(date1.getTimezoneOffset()); // 返回當前時區與UTC的時間差,單位為分鐘

3. 時間的格式化

可以使用以下方法將Date對象格式化為字元串:

  • toDateString() 將日期部分轉換為字元串,格式為”Month day year”
  • toLocaleString() 將完整的日期和時間轉換為本地字元串表示,格式由瀏覽器廠商決定
  • toLocaleDateString() 將日期轉換為本地字元串表示,格式由瀏覽器廠商決定
  • toLocaleTimeString() 將時間轉換為本地字元串表示,格式由瀏覽器廠商決定
  • toString() 將完整的日期和時間轉換為字元串表示,格式由瀏覽器廠商決定
  • toTimeString() 將時間部分轉換為字元串,格式為”hours:minutes:seconds”
  • toUTCString() 將完整的日期和時間轉換為UTC時間表示,格式為”Fri, 12 Feb 2021 13:01:37 GMT”
const date = new Date("2021-02-14T10:20:30Z");
console.log(date.toDateString()); // 返回"Sun Feb 14 2021"
console.log(date.toLocaleString()); // 返回"2021/2/14 上午6:20:30"
console.log(date.toLocaleDateString()); // 返回"2021/2/14"
console.log(date.toLocaleTimeString()); // 返回"上午10:20:30"
console.log(date.toString()); // 返回"Sun Feb 14 2021 18:20:30 GMT+0800 (中國標準時間)"
console.log(date.toTimeString()); // 返回"10:20:30 GMT+0800 (中國標準時間)"
console.log(date.toUTCString()); // 返回"Sun, 14 Feb 2021 02:20:30 GMT"

三、ES6新增的Date類型方法

1. 時間的比較

可以使用ES6新增的方法比較兩個時間的先後順序:

  • Date.parse() 將一個日期字元串解析為時間戳,返回毫秒數。
  • Date.now() 返回當前時間的時間戳,精度為毫秒。
const date1 = Date.parse("2021-01-01");
const date2 = Date.parse("2022-01-01");
if (date1 < date2) {
  console.log("date1在date2之前");
}
console.log(Date.now()); // 返回當前時間的時間戳,精度為毫秒

2. 時間的轉換

可以使用ES6新增的方法將時間單位進行轉換:

  • getTime() 返回一個代表日期的時間戳,該時間戳表示從1970年1月1日00:00:00以來的毫秒數。
  • valueOf() 返回一個代表日期的時間戳,可以直接進行數字比較。
  • getTimezoneOffset() 返回當前時區與UTC的時間差,單位為分鐘。
const minutes = 60 * 1000;
const hours = 60 * minutes;
const days = 24 * hours;
console.log(minutes + "毫秒是一分鐘");
console.log(hours + "毫秒是一小時");
console.log(days + "毫秒是一天");

四、總結

Date類型是處理JavaScript日期和時間的非常重要的內置對象,提供了多種方法用於獲取或者格式化日期和時間,同時也可以比較不同日期之間的先後順序。

原創文章,作者:QDCK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145368.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QDCK的頭像QDCK
上一篇 2024-10-27 23:49
下一篇 2024-10-27 23:49

相關推薦

  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • Python中的Bool類型判斷

    本篇文章旨在講解Python中的Bool類型判斷。在Python中,Bool類型是經常使用的一種類型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    編程 2025-04-29
  • Python函數類型有哪些

    本文將從以下幾個方面詳細闡述Python函數類型。 一、內置函數 Python的內置函數是指在Python編程語言中提供的可以直接使用的函數,不需要通過導入模塊等方式引入。 部分常…

    編程 2025-04-29
  • Python變數類型用法介紹

    Python是一種解釋型編程語言,它提供了豐富的數據類型,包括數字、字元串、列表、元組、集合、字典等。Python變數類型的定義是Python程序開發的基礎,本文將從以下幾個方面對…

    編程 2025-04-28
  • Python中的整數類型int類總覽

    本文將從多個方面,對Python中的整數類型int類進行全面介紹和闡述。 一、數據類型及基本操作 在Python中,整數類型的數據類型為int。在Python3.x中,整數類型的范…

    編程 2025-04-28
  • Spark集成ES開發

    本文將介紹如何使用Spark集成ES進行數據開發和分析。 一、系統概述 Spark是一個基於內存的分散式計算系統,可以快速地處理大量數據。而ES(ElasticSearch)則是一…

    編程 2025-04-28
  • Python查詢變數類型的函數

    本文將從多個方面詳細闡述Python中查詢變數類型的函數,主要包括以下幾點: 一、type()函數 type()函數是Python內置的函數,用於查詢變數的類型。它的使用非常簡單,…

    編程 2025-04-28
  • 為什麼Python函數定義中沒有對參數指定類型?

    Python是一種強類型語言,也就是說語言本身會強制要求變數的類型。但是在Python函數定義中,卻沒有要求對參數指定類型。這是為什麼呢? 一、簡化函數定義 Python語言簡單明…

    編程 2025-04-28

發表回復

登錄後才能評論