saber partir obtener nacimiento moment mayor fecha eres edad con como calcular javascript jquery datetime

partir - javascript datetime format



Edad desde la fecha de nacimiento con JQuery (7)

Es posible que encuentre Datejs biblioteca de código abierto Datejs . Específicamente, la función addYears .

var dob = Date.parse($(this).text()); if (dob.addYears(18) < Date.today()) { $(this).text("Under 18"); } else { $(this).text(" Over 18"); }

De una manera más escueta:

$(this).text( Date.parse($(this).text()).addYears(18) < Date.today() ? "Under 18" : " Over 18" )

Necesito calcular si alguien tiene más de 18 años desde su fecha de nacimiento usando JQuery.

var curr = new Date(); curr.setFullYear(curr.getFullYear() - 18); var dob = Date.parse($(this).text()); if((curr-dob)<0) { $(this).text("Under 18"); } else { $(this).text(" Over 18"); }

Debe haber algunas funciones más fáciles de usar para comparar fechas en lugar de utilizar los métodos setFullYear y getFullYear.

Nota: Mi razón real para querer encontrar un nuevo método es la longitud del código. Tengo que ajustar este código en un campo de base de datos que está limitado a 250 caracteres. Cambiar la base de datos no es algo que pueda suceder rápida o fácilmente.


Mi solución.

var startDt=document.getElementById("startDateId").value; var endDt=document.getElementById("endDateId").value; if( (new Date(startDt).getTime() > new Date(endDt).getTime())) { ---------------------------------- }


Podría usar el objeto Date. Esto devolverá los milisegundos entre las dos fechas. Hay 31556952000 milisegundos en un año.

function dateDiff(var now, var dob) { return now.getTime() - dob.getTime(); }


Puede eliminar la variable separada para DOB y contraer la instrucción if. El siguiente código viene con 165 caracteres:

var check = new Date(); check.setFullYear(check.getFullYear() - 18); $(this).text((new Date("3/6/2009").getTime() - check.getTime() < 0)?"Under 18":"Over 18");

Esto mantendrá la lógica necesaria para lidiar con años bisiestos.


tenga en cuenta que todas las respuestas anteriores solo funcionan para la fecha usando el separador ''/''. si está utilizando otro que esto, primero debe reemplazar ese separador.

var startDate = $(''#start_date'').val().replace(''-'',''/''); var endDate = $(''#end_date'').val().replace(''-'',''/''); if(startDate > endDate){ // do stuff here... }

feliz codificación: D


$(this).text(((new Date().getFullYear()-Date.parts($(this).text()))>=18)?"Over 18":"Under 18");

¿Mejor? :RE


Date.prototype.age=function(at){ var value = new Date(this.getTime()); var age = at.getFullYear() - value.getFullYear(); value = value.setFullYear(at.getFullYear()); if (at < value) --age; return age; }; var dob = new Date(Date.parse($(this).text())); if(dob.age(new Date()) < 18) { $(this).text("Under 18"); } else { $(this).text(" Over 18"); }