JS 中,字符串格式的日期比较

在 JS 开发过程中,不免会遇到日期比较的情况。其中日期的格式往往使用了字符串。

如何优雅地将两个日期进行比较?

我的方法如下:

const moment = require('moment');

const d1 = '2018-01-01';
const d2 = '2018-1-1';
const d3 = '2018/01/02';
const d4 = '2018-01-03';

const format = 'YYYY-MM-DD';
const m1 = moment(d1, format);
const m2 = moment(d2, format);
const m3 = moment(d3, format);
const m4 = moment(d4, format);

console.log(m1.isSame(m2));   // 日期 m1 和 m2 值相同,返回 true 。
console.log(m1.isBefore(m3)); // 日期 m1 在 m3 之前,返回 true 。
console.log(m3.isAfter(m4));  // 日期 m3 实际在 m4 之前,返回 false 。

本文仅作记录作用。