Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript如何比较日期字符串?_Javascript_Date_String Comparison - Fatal编程技术网

JavaScript如何比较日期字符串?

JavaScript如何比较日期字符串?,javascript,date,string-comparison,Javascript,Date,String Comparison,比较两个字符串时,如下所示: '03-15-2019' < '03-16-2019' '03-15-2019'

比较两个字符串时,如下所示:

'03-15-2019' < '03-16-2019'
'03-15-2019'<'03-16-2019'
我得到的值是
true
,这就是我所期望的


不过,我很想多了解一下这是如何工作的。这是对两个日期进行比较,还是有其他我不太清楚的比较?

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

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

log('ab'<'aa')
日期字符串只是字符串,所以它们遵循javascript字符串比较规则

console.log('04-13-2019' < '04-15-2019') #true
console.log('04-13-2019'<'04-15-2019')正确
但在这里要小心,因为如果依赖于此比较,因为如果两个字符串的长度不相同,则会导致以下意外行为:

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

如果要比较日期,最好使用
Date
对象,或者使用stringcomparisonit只是比较字符串,而不是比较日期。将第二个日期的年份更改为2015年。比较结果将是相同的。这是一个纯字符串比较<代码>'5'。charCodeAt()低于
'6'。就JavaScript而言,charCodeAt()
这些不是日期字符串,只是一堆字母数字字符,因此不可能出现任何“类型强制”,这是您建议的正确名称。强制性XKCD: