繁体   English   中英

在javascript中比较ISO 8601日期字符串

[英]Compare ISO 8601 date strings in javascript

我想将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

我这样做的原因是我认为字符串比较应该比为每个日期字符串制作对象和比较对象更快。

这些比较似乎在某些浏览器中按预期工作。 我可以期望这种 按字母 顺序 排列的 词典字符串比较适用于所有浏览器吗? 这种日期比较方法实际上比使用Date对象更快吗?

使用比较操作将着眼于字符串值字典顺序 ,这意味着字典顺序

在ASCII,十进制数字被顺序地存储最小( 00x30 )到最大( 90x39 )。 如果它们始终采用这种格式,最大值(年份)到最小值(日期)并且总是0填充到最大可能值,那么这些比较就可以了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM