var now = new Date
var d = new Date(date)
if (now >d) {
alert("之前的日期")
} else if (now <d) {
alert("之后的日期")
} else {
alert("一样的日期")
}
}
comp("2015-11-03 16:16:13")
可以这样判断:
function CheckActive(d) { // 传入参数为要比较的证书日期值,为Date类型var dateNow = new Date() // 获取当前时间
dateNow.setFullYear(dateNow.getFullYear() - 3) // 将日期调整到3年前。注意:润2月的情况可能会有1天的误差
return d > dateNow // 如果比较日期大于3年前的今天, 返回true, 代表有效 否则返回false, 代表无效
}
window.alert(CheckActive(new Date(2010, 1, 28))) // 调用测试
函数CheckActive的传入参数要为Date类型,如果你获取发证时间为字符,那么要先处理成日期值再进行调用。
照你这个日期格式来看,很简单"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"。如果年份相同,可以继续比下去。