js验证两个日期的大小 只有年和月的,比如2012-01 和2011-11 这两个时间怎么验证大小

如题所述

照你这个日期格式来看,很简单

"2012-01" > "2011-11"

因为字符串的比较是按位来比较的,假设比较字符串a和b,如果a的第一个字符比b的第一个字符大,则a就比b大,否则的话继续比较a和b的第二个字符,依次下去。如果a的开始n个字符恰好就是b,而a又比b多出几个字符,则a大于b;如果a和b的内容相同,即a==b。

所以说这个日期的比较可以简单的处理为字符串的比较。以你给出的两个日期为例,因为两个字符串的前3个字符都是201,比到这里是比不出结果的;接下来字符串“2012-01”的第四个字符是2,而“2011-11”的第四个字符是1,所以"2012-01" > "2011-11"。如果年份相同,可以继续比下去。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-19
先用substring截取前四位比大小,如果一样就截取后两位比大小
第2个回答  2013-02-20
var d=new Date(2012,1);
var d2=new Date(2011,1);
alert(d<d2);
第3个回答  2013-02-20
其实前面而为的回答都可以