7
我想比较javascript中的ISO 8601日期作为字符串,而不是为每个字符串和比较对象创建Date对象。在JavaScript中比较ISO 8601日期字符串
var date_array = ['2012-10-01','2012-11-27','2012-12-23'];
console.log(date_array[0] < date_array[1]) // gives true
console.log(date_array[1] > date_array[2]) // gives false
我这样做的原因是我认为比较字符串应该比使物体每个日期字符串和对象比较快。
这些比较似乎在某些浏览器中按预期工作。我可以期待这种按字母顺序排列的
lexicographic字符串比较可以在所有浏览器中工作吗?这种日期比较方法实际上比使用Date对象更快吗?
如果格式来自大单元 - >小单元,并且所有字符串对于每个字段具有相同的长度(必要时填写前导0),则应该没有问题。 – nhahtdh
相关链接:[Here](http://jsperf.com/date-object-creation/2)显示使用_Date_构造函数的操作数/秒,[here](http://jsperf.com/operator-vs -localecompage/3)是字符串比较和[这里](http://jsperf.com/inequality-str-vs-int)int比较。 –
根据[维基百科](https://en.wikipedia.org/wiki/ISO_8601#General_principles),ISO 8601日期的组成部分按字典顺序排列,因此您应该很好地执行上述操作 – Dogoku