在Javascript中比较数组中的两个日期

在Javascript中比较数组中的两个日期,javascript,html,Javascript,Html,我有一个表单,从输入标签中提取两个日期。我需要验证和比较一个日期应始终大于另一个日期。下面是javascript: function validateDD(gateout_plnd_dt){ var dt_pat = /^[0-9]{2}-[0-9]{2}-[0-9]{4}$/; var alpha = /^[a-zA-Z0-9\s\.\-]+$/ var int = /^[0-9.]+$/; var gateout_plnd_dt = document.getE

我有一个表单,从输入标签中提取两个日期。我需要验证和比较一个日期应始终大于另一个日期。下面是javascript:

function validateDD(gateout_plnd_dt){
    var dt_pat = /^[0-9]{2}-[0-9]{2}-[0-9]{4}$/;
    var alpha = /^[a-zA-Z0-9\s\.\-]+$/
    var int = /^[0-9.]+$/;
    var gateout_plnd_dt = document.getElementsByName('gateout_plnd_dt[]');
    var gate_in_dt = document.getElementsByName('gate_in_dt[]');


    for(var i=0,j=0; i<gateout_plnd_dt.length,j<gate_in_dt.length; i++,j++){



        if(gateout_plnd_dt[i].value< gate_in_dt[j].value){
        alert((gateout_plnd_dt[i].value));
        alert(gate_in_dt[j].value);
         return false;
        }
        }


    }
功能验证数据(网关输出数据){
var dt_pat=/^[0-9]{2}-[0-9]{2}-[0-9]{4}$/;
变量α=/^[a-zA-Z0-9\s\.\-]+$/
var int=/^[0-9.]+$/;
var gateout_plnd_dt=document.getElementsByName('gateout_plnd_dt[]);
var gate_in_dt=document.getElementsByName('gate_in_dt[]);

对于(var i=0,j=0;i将日期转换为时间戳。出于这个原因,我不建议使用库

 function datetotimestamp(date){
    var date=date.split("-");
    var newd=date[1]+"/"+date[0]+"/"+date[2];
    return new Date(newd).getTime();
    }
console.log(datetotimestamp(“26-02-2012”) 若要比较数组中的两个或多个值,请使用额外的函数

var compareinarray = function(array) {
    for(var i = 1; i < array.length; i++)    {
        if(datetotimestamp(array[i]) > datetotimestamp(array[i-1]))
            return false;
    }
    return true;
}

var arr = ["26-02-2012", "23-02-2012"];
var res = compareinarray(arr); 
console.log(res)
var compareinarray=函数(数组){
对于(变量i=1;idatetotimestamp(数组[i-1]))
返回false;
}
返回true;
}
var arr=[“26-02-2012”、“23-02-2012”];
var res=比较平均值(arr);
console.log(res)

根据您的案例和数组复杂性,更新compareinarray函数变量。

试试这个我为您工作

var parts ='you string'.split("-");
var mydate = new Date(parts[2],parts[0],parts[1]); 
试试这个


for(var i=0;i check out moment js..它有基于日期格式的解析器。它在数组中工作吗?我已经编辑过了,请告诉我。如果对您有效。@user3445158它适用于单日期输入表单,但不适用于具有多个日期的输入数组。在控制台部分的Inspect元素的复选框中,它显示“'you string'。split(“-”;不是函数”你在这里面会有什么值。gateout_plnd_dt[i]。值根据我的代码,我正在通过mysql表中的gateout_plnd_dt输入多个日期。我在gateout_in_dt中已经有一个日期值。因此gateout_plnd_dt>gate_in_dt。列表中的每个元素都是正确的字符串。@user3445158这将适用于单日期输入,但在数组中无法更改拆分(-)拆分(“-”;@Preethi Mano