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");
}