【发布时间】:2012-11-22 19:49:29
【问题描述】:
我想将 javascript 中的 ISO 8601 日期作为字符串进行比较,而不是为每个字符串创建 Date 对象并比较对象。
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
我这样做的原因是我相信字符串比较应该比为每个日期字符串创建对象和比较对象更快。
这些比较似乎在某些浏览器中按预期工作。我可以期望这种 alphabetical lexicographic 字符串比较适用于所有浏览器吗?这种日期比较方法实际上是否比使用 Date 对象更快?
【问题讨论】:
-
如果格式是大单元 --> 小单元,并且每个字段的所有字符串长度相同(必要时填前导0),那么应该没有问题。跨度>
-
根据wikipedia,ISO 8601 日期的组成部分按字典顺序排列,所以您应该可以执行上述操作
标签: javascript string-comparison