Mam starą aplikację internetową, w której Javascript służy do sprawdzania poprawności niektórych dat. Użytkownicy zazwyczaj używać 2-cyfrowy rok, a ja niedawno odkryta została w roku 1900 oceny 00 zamiast 2000Dlaczego JavaScript ocenia 2-cyfrowy rok 00 jako 1900 zamiast 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;
}
Wprowadzanie 1/1/99 w pierwszym polu i 1/1/00 w 2. spowoduje błąd komunikat informujący, że data rozpoczęcia musi być przed datą końcową, ponieważ 99 jest oceniane w 1999 roku, a 00 oznacza 1900.
Oczywiście użytkownicy mogą obejść ten problem za pomocą 4-cyfrowych lat, ale nadal chcę wiedzieć, co można zrobić, aby JavaScript mógł poprawnie oceniać 2-cyfrowe lata.
Moje pytanie brzmi: w jaki sposób mogę uzyskać JavaScript, aby ocenić 00 jako 2000, a nie 1900?
To wyjaśnia dlaczego, ale czy jest jakiś sposób, aby ocenić JavaScript 00 w roku 2000 zamiast 1900? – Rachel
+1 za historię. Dodane formatowanie kodu :) @Rachel, użyj 'setFullYear()' w oparciu o logikę biznesową, że 00 to 2000. –
Przykro mi, kolego, będę edytować twoje zmiany :-) – Pointy