js获取系统当前日期和时间,并与另一个时间(​如某一时间2015-11-03 16:16:13 )比较大小。

JavaScript013

js获取系统当前日期和时间,并与另一个时间(​如某一时间2015-11-03 16:16:13 )比较大小。,第1张

var comp = function(date) {

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"。如果年份相同,可以继续比下去。