简体   繁体   中英

Compare ISO 8601 date strings in javascript

I want to compare ISO 8601 dates in javascript as strings instead of making Date objects for each string and comparing objects.

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

My reason for doing this is I believe string comparisons should be faster than making objects for each date string and comparing objects.

These comparisons seem to work as expected in some browsers. Can I expect this sort of alphabetical string comparison to work in all browsers? 排列的 字符串比较适用于所有浏览器吗? Is this method of date comparison actually faster than using Date objects?

Using that comparison operator will look at the strings values lexicographically , which means the dictionary order .

In ASCII, the decimal digits are sequentially stored smallest ( 0 , 0x30 ) to largest ( 9 , 0x39 ). If they're consistently in this format, largest value (year) to smallest (day) and always 0 padded to the largest possible value, then these comparisons will be fine.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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