Javascript 在JS中比较日期不起作用
我在JS中有这个函数,这很奇怪,因为它可以处理很多日期,但不能处理一个 我有两个输入,使用jquery将第一个复制到第二个,如果第二个是次要的或为null,然后如果我在第一个中放置了另一个较大的日期,则第一个中的第二个日期将更改为相同的日期 但我有一个案例,第一个输入是2013年5月1日,第二个输入是2013年5月31日,如果我将第一个更改为2013年6月1日,第二个应该在同一日期更改,但不要这样做 如果使用firebug,我会测试它和这个函数Javascript 在JS中比较日期不起作用,javascript,date,compare,Javascript,Date,Compare,我在JS中有这个函数,这很奇怪,因为它可以处理很多日期,但不能处理一个 我有两个输入,使用jquery将第一个复制到第二个,如果第二个是次要的或为null,然后如果我在第一个中放置了另一个较大的日期,则第一个中的第二个日期将更改为相同的日期 但我有一个案例,第一个输入是2013年5月1日,第二个输入是2013年5月31日,如果我将第一个更改为2013年6月1日,第二个应该在同一日期更改,但不要这样做 如果使用firebug,我会测试它和这个函数 obtenerFecha(fIni) >
obtenerFecha(fIni) > obtenerFecha(fFin) // obtenerFecha(01/06/2013) > obtenerFecha(31/05/2013)
返回false,返回true
如果有人能帮我,这是我的密码
function copiarFecha(inicio,fin) {
var fIni = $("#" + inicio).val();
var fFin = $("#" + fin).val();
if ((fFin == "") || obtenerFecha(fIni) > obtenerFecha(fFin)) {
$("#" + fin).attr('value', fIni);
}
return true;
}
function obtenerFecha(strFecha) {
var df = strFecha.split("/");
if (isNaN(df[0]) || isNaN(df[1]) || isNaN(df[2]) || (df[0] > 31) || (df[1] > 12)) {
cargaMensaje("KO", "La fecha no es correcta,revísela.");
return false;
}
return new Date(df[2], df[1], df[0]);
谢谢。Javascript日期中的月份在0-11范围内,而不是1-12范围内,因此您的新日期(2013,5,31)转换为2013,06,01,即2013年5月1日。您需要从月份中减去1 月份 表示月份的整数值,1月从0开始,12月从11开始 如果您能将源代码“翻译”成英语,这将有助于您更容易理解您正在做的事情。你能编辑你的帖子吗?