JavaScript如何比较Date字符串?

时间:2019-03-14 17:06:30

标签: javascript date string-comparison

比较两个字符串时,就像这样:

'03-15-2019' < '03-16-2019'

我得到的值为true,这是我期望的值。

不过,我很好奇要进一步了解它的工作原理。这是对两个日期进行比较,还是正在进行其他一些我不太了解的比较?

2 个答案:

答案 0 :(得分:1)

字符串比较是逐字符进行的

console.log('aaaa' < 'b')
console.log('aa' < 'ab')
console.log('ab' < 'aa')

'03-15-2019' < '03-16-2019'这只是字符串比较,而不是日期比较,如果要比较日期,则需要将其更改为date对象,然后比较

console.log(new Date('03/15/2019') < new Date('03/16/2019'))

答案 1 :(得分:0)

日期字符串只是字符串,因此它们遵循javascript字符串比较规则。

console.log('04-13-2019' < '04-15-2019') #true

但是请注意此处,因为如果您依赖此比较,因为如果两个字符串的长度不同,则会导致类似这样的意外行为:

console.log('ab' < 'b') #true

如果要比较日期,则最好依靠Date对象或使用moment js