在Javascript中比较数组中的两个日期
我有一个表单,从输入标签中提取两个日期。我需要验证和比较一个日期应始终大于另一个日期。下面是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
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