如何比较日期大小

阅读 1.9k
标签: JavaScript

在JS中,有时候需要比较两个日期的大小,怎么做呢?这主要分两种情况:一种是字符串格式,另外一种是日期格式。

字符串格式

对于字符串格式的日期,可以使用比较操作符来直接比较,比如:

'2020-12-12' > '2020-12-13'

对于比较操作符,如果两个操作数都是字符串,则比较两个字符串对应的字符编码值,只要格式固定(YYYY- MM- DD),那么,后面的日期一定比前面的日期要大。所以,可以使用这种方式进行比较。

注意:如果字符串格式不是使用固定的格式,比如下面这种:

'2020-12-12' > '2020-2-13'

在比较的时候,后面字符串的第6位为‘2’,比前面字符串第6位的‘1’的字符编码值要大,所以,这种比较就会出错。

日期格式

如果本身就是日期类型,也可以使用比较操作符来比较,比如:

new Date('2020-12-12') > new Date('2020-12-13')

对于比较操作符,如果一个操作数是对象,则调用这个对象的 valueOf()方法,用得到的结果执行比较。那么,对于上面代码,通过valueOf()会得到该日期的毫秒数,日期在后面的毫秒数自然比前面的大。


最后编辑于: 2024-03-11

评论(1条)

(必填)
还可以使用dayjs,用 dayjs('2011-01-02').isAfter(dayjs('2011-01-01')) 来比较
2024-03-11 10:25 腾讯云小猿
引用
复制成功