Проблема с годами раньше 100 в javascript
Задание: создать страницу, которая запрашивает дату и выводит количество дней, которое прошло с этой даты.
Для годов позже 100-го проблем никаких нет, а для годов ранее js считает их как года из диапазона 1900-1999.
Как исправить?
let y = prompt('Введите год');
let year = parseInt(y);
let m = prompt('Введите номер месяца: ');
let month = parseInt(m);
let d = prompt('Введите день: ');
let day = parseInt(d);
let today = new Date();
let currentYear = today.getFullYear();
let current = today.getTime();
let birth = new Date(year, month - 1, day).getTime();
let age = current - birth;
let result = Math.floor(age / (24 * 60 * 60 * 1000));
if (day > 0 && day <= 31 && month > 0 && month <= 12 && year > 0 && year <= currentYear) {
document.write('Прошло ' + result + ' дней');
} else {
console.log('Ошибка в данных');
}
Ответы (1 шт):
Автор решения: Rostyslav Kuzmovych
→ Ссылка
let year = 90,
month = 12,
day = 5
let today = new Date(),
currentYear = today.getFullYear(),
current = today.getTime()
let birth = new Date(year, month - 1, day)
// установило правильно :)
birth.setFullYear(year)
console.log('birth', birth)
let age = current - birth.getTime()
let result = Math.floor(age / (24 * 60 * 60 * 1000));
if (day > 0 && day <= 31 && month > 0 && month <= 12 && year > 0 && year <= currentYear) {
document.write('Прошло ' + result + ' дней');
} else {
console.log('Ошибка в данных');
}