返回

比较年月日时分秒的各种方法

前端

在前端开发人员的日常工作时,如果涉及到时间控件,往往就会涉及到时间比大小的问题,这类问题主要分为年月日比大小、时分秒比大小、年月日时分秒比大小等,本文主要记录以上三种形式的解决之道。

年月日比大小

  1. 使用JavaScript中的Date对象
const date1 = new Date('2023-03-08');
const date2 = new Date('2023-03-09');

if (date1 > date2) {
  console.log('date1 is greater than date2');
} else if (date1 < date2) {
  console.log('date1 is less than date2');
} else {
  console.log('date1 is equal to date2');
}
  1. 使用moment.js库
const moment = require('moment');

const date1 = moment('2023-03-08');
const date2 = moment('2023-03-09');

if (date1.isBefore(date2)) {
  console.log('date1 is before date2');
} else if (date1.isAfter(date2)) {
  console.log('date1 is after date2');
} else {
  console.log('date1 is equal to date2');
}

时分秒比大小

  1. 使用JavaScript中的Date对象
const time1 = new Date('2023-03-08 12:00:00');
const time2 = new Date('2023-03-08 13:00:00');

if (time1 > time2) {
  console.log('time1 is greater than time2');
} else if (time1 < time2) {
  console.log('time1 is less than time2');
} else {
  console.log('time1 is equal to time2');
}
  1. 使用moment.js库
const moment = require('moment');

const time1 = moment('2023-03-08 12:00:00');
const time2 = moment('2023-03-08 13:00:00');

if (time1.isBefore(time2)) {
  console.log('time1 is before time2');
} else if (time1.isAfter(time2)) {
  console.log('time1 is after time2');
} else {
  console.log('time1 is equal to time2');
}

年月日时分秒比大小

  1. 使用JavaScript中的Date对象
const datetime1 = new Date('2023-03-08 12:00:00');
const datetime2 = new Date('2023-03-09 13:00:00');

if (datetime1 > datetime2) {
  console.log('datetime1 is greater than datetime2');
} else if (datetime1 < datetime2) {
  console.log('datetime1 is less than datetime2');
} else {
  console.log('datetime1 is equal to datetime2');
}
  1. 使用moment.js库
const moment = require('moment');

const datetime1 = moment('2023-03-08 12:00:00');
const datetime2 = moment('2023-03-09 13:00:00');

if (datetime1.isBefore(datetime2)) {
  console.log('datetime1 is before datetime2');
} else if (datetime1.isAfter(datetime2)) {
  console.log('datetime1 is after datetime2');
} else {
  console.log('datetime1 is equal to datetime2');
}