Tengo una aplicación web antigua donde Javascript se usa para validar algunas fechas. Los usuarios suelen utilizar 2 dígitos años y recientemente he descubierto que estaba evaluando 00 como 1900 en lugar de 2000¿Por qué Javascript evalúa un año de 2 dígitos de 00 como 1900 en lugar de 2000?
if (new Date(tb[0].value) > new Date(tb[1].value)){
alert('Starting date must come before the ending date');
tb[0].focus();
return false;
}
Introducción 1/1/99 en el primer cuadro y 1/1/00 en el segundo causará un error mensaje que dice que la fecha de inicio debe ser anterior a la fecha de finalización porque 99 está evaluando en 1999 mientras 00 está evaluando a 1900.
Por supuesto, los usuarios pueden evitar esto usando años de 4 dígitos, pero aún quiero saber qué se puede hacer para que Javascript evalúe correctamente los años de dos dígitos.
Así que mi pregunta es, ¿cómo puedo obtener Javascript para evaluar 00 como 2000 y no 1900?
Eso explica el por qué, pero hay una manera de hacer Javascript evaluar 00 como 2000 en lugar de 1900? – Rachel
+1 para la historia de fondo. Formato de código agregado :) @ Rachel, use 'setFullYear()' basado en la lógica de negocios que 00 es 2000. –
Lo siento tío editaré sus ediciones en :-) – Pointy