JS比較兩個日期大小

一、JS比較兩個日期大小用什麼

要比較兩個日期的大小,可以使用JavaScript中的Date對象。

使用Date對象可以將日期和時間存儲為一個數值,並進行常見的日期操作,比如:日期之間的比較、日期的計算、日期的格式化等操作。

二、JS比較日期大小的函數

JavaScript原生提供了可以比較兩個日期大小的函數,包括:

1. getTime()

getTime()方法返回一個日期距離格林威治標準時間(1970 年 1 月 1 日)的毫秒數,我們可以通過比較兩個日期的毫秒數來判斷大小。


const date1 = new Date('2021-08-01');
const date2 = new Date('2021-08-02');

if (date1.getTime() > date2.getTime()) {
  console.log('date1 大於 date2');
} else if (date1.getTime() === date2.getTime()) {
  console.log('date1 等於 date2');
} else {
  console.log('date1 小於 date2');
}

2. valueOf()

valueOf()方法返回一個 Date 對象的基本日期值。該基本日期值等於距離 1970 年 1 月 1 日的毫秒數,我們同樣可以通過比較基本日期值來確定兩個日期的大小。


const date1 = new Date('2021-08-01');
const date2 = new Date('2021-08-02');

if (date1.valueOf() > date2.valueOf()) {
  console.log('date1 大於 date2');
} else if (date1.valueOf() === date2.valueOf()) {
  console.log('date1 等於 date2');
} else {
  console.log('date1 小於 date2');
}

三、兩個日期怎麼比較大小JS

除了上述兩個日期比較的方法外,我們還可以使用運算符進行比較,這個時候需要注意的是,需要將比較的都轉化成同樣的格式。


const date1 = '2021-08-01';
const date2 = '2021-08-02';

if (new Date(date1) > new Date(date2)) {
  console.log('date1 大於 date2');
} else if (new Date(date1) === new Date(date2)) {
  console.log('date1 等於 date2');
} else {
  console.log('date1 小於 date2');
}

四、JS日期時間比較

如果需要比較日期和時間,則需要先將時間轉化為毫秒數再進行比較。下面是一個計算兩個日期間相差多少天的例子。


function getDaysBetweenDates(date1, date2) {
  const oneDay = 24 * 60 * 60 * 1000; // 一個小時的毫秒數
  const firstDate = new Date(date1);
  const secondDate = new Date(date2);

  const diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime()) / (oneDay)));

  return diffDays;
}

console.log(getDaysBetweenDates('2021-08-01 12:00:00', '2021-08-03 12:00:00')); // 2

五、總結

JavaScript中可以使用Date對象進行日期的比較,可以使用getTime()或者valueOf()函數進行比較,也可以將日期轉化為毫秒數再比較,不過需要注意時間的格式。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/194680.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 14:40
下一篇 2024-12-02 14:40

相關推薦

發表回復

登錄後才能評論