javascript 怎么判断一个时间是否大于当前时间

JavaScript018

javascript 怎么判断一个时间是否大于当前时间,第1张

最好的是用时间戳,获取当前时间的时间戳,用time()函数,然后获取指定时间,可能是通过字符串传进来的,转换成时间戳形式,对比大小就可以了!当前时间大,那么就是小于当前时间,反之!现在有很多的人在教授这种课程,我也是这样学会的,成为现在的我!可以去我个人WZ看看,有兴趣去看看我的主页免费视频:互联网点人(全拼,限制原因发不了请理解)。

function

check()

{

var

d

=

new

Date()

//取当前年月日,舍去时分秒

d

=

new

Date(d.getFullYear()

+

"-"

+

(d.getMonth()

+

1)

+

"-"

+

d.getDate())

var

d2

=

new

Date(document.

getElementById

("txtDate").value)

if

(d2

==

"Invalid

Date")

{

alert("非日期")

return

}

//getTime

从1970.1.1开始的毫秒数

var

n

=

d.getTime()

-

d2.getTime()

if

(n

==

0)

{

alert("相等")

}

else

if

(n

>

0)

{

alert("小于当前日期")

}

else

{

alert("大于当前日期")

}

}

定义JavaScript函数:

function ParseDate(s) {    // 将字串解析成日期值

    var dv, reg = /^\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d$/gi

    

    if (!reg.test(s)) {

        window.alert("日期值格式错误!")

        return null

    }

    else {

        dv = new Date(Date.parse(s.replace(/-/g, "/")))

        /* 比较日期值的各部分是否相同, 防止输入错误日期值, 如2013-08-33这种/ */

        if (dv.getFullYear() != eval(s.substring(0, 4)) || dv.getMonth() + 1 != eval(s.substring(5, 7)) || dv.getDate() != eval(s.substring(8, 10))

            || dv.getHours() != eval(s.substring(11, 13)) || dv.getMinutes() != eval(s.substring(14, 16)) || dv.getSeconds() != eval(s.substring(17, 19))

      ) {

            window.alert("日期值错误!")

            return null

        }

    }

    

    return dv

}

调用示例:

var datNow = new Date(), dateValue = ParseDate("2013-08-23 13:35:12") // 要自己修改成合适的赋值

if (dateValue != null) {

    if (dateValue < datNow) {

        window.alert("在当前日期之前!")

    }

    else {

        // 符合条件, 继续处理

        window.alert("您输入正确的日期!")

    }

}