日期时间组合比较的JavaScript验证

时间:2014-03-26 10:38:23

标签: javascript jquery

如果开始日期小于enddate,我有两个日期我想要发出警报 格式我用dd / mm / yyyy 时间24小时格式:HH:MM:SS

var strt_date  = 31/03/2014 23:02:01;
var end_date  = 01/04/2014 05:02:05;

    if(Date.parse(strt_date) < Date.parse(end_date))
    {
        alert("End datetime Cannot Be Less Than start dateime");

        return false;

    }

3 个答案:

答案 0 :(得分:1)

请参阅以下答案:Compare two dates with JavaScript

基本上你创建了两个日期对象,你可以比较它们。

var start_date = new Date('31/03/2014 23:02:01');
var end_date = new Date('31/03/2014 23:02:01');
if (end_date < start_date) {
    alert("End datetime Cannot Be Less Than start dateime");

    return false;
}

(从阅读链接的答案可以使用Date :: gettime方法进行比较,可能比日期对象的实际比较更快)

答案 1 :(得分:0)

您的时间戳不会被引用为字符串,这会引发语法错误,为它们添加单引号:

var strt_date  = '31/03/2014 23:02:01';
var end_date  = '01/04/2014 05:02:05';

if((new Date(strt_date)).getTime() < (new Date(end_date)).getTime())
{
    alert("End datetime Cannot Be Less Than start dateime");

    return false;

}

使用.getTime()会比较数字,因此您可以确定开始日期的数字是否大于结束日期。

<强> DEMO

答案 2 :(得分:0)

尝试使用以下格式:Date.parse("YEAR-MONTH-DAYTHOURS:MINUTES:SECONDS")

var strt_date  = "2014-03-31T23:02:01";
var end_date  = "2014-04-01T05:02:05";

if(Date.parse(strt_date) < Date.parse(end_date))
{
    alert("End datetime Cannot Be Less Than start dateime");

    return false;

}