Мое задание в университете требует, чтобы мы нашли сколько дней прошло от текущей даты до заданного пользователем дня рождения. Преподаватель попросил учесть високосные года и что если пользователь введет дату из будущего - я учла это. Теперь от нас просят чтобы учитывались даты до 1900 года. Я работаю с JS буквально пару недель и видимо могу чего-то не знать, но как я не бьюсь - не получается. Точного ответа на поставленный вопрос найти не удалось. Что мне почитать\посмотреть, чтобы решить эту проблему? Что я совершенно точно делаю не так? Большое спасибо за ваше внимание!
function completeTask05() {
const dayOfBirth = prompt("Enter your day of birth", "0");
const monthOfBirth = prompt("Enter your month of birth", "0");
const yearOfBirth = prompt("Enter your year of birth", "0");
const demo = document.body.getElementsByClassName("content-module__js-log")[0];
demo.innerHTML = "Im alive for " + countAge(dayOfBirth, monthOfBirth, yearOfBirth) + " days";
}
function isLeapYear(year) {
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));
}
function countLYforwards(year) {
console.log('future!');
let l = 0;
for (let i = new Date().getFullYear(); i <= year; i++) {
if (isLeapYear(i)) {
l++;
}
}
return l;
}
function countLYbackwards(year) {
console.log('past!');
let l = 0;
for (let i = new Date().getFullYear(); i >= year; i--) {
if (isLeapYear(i)) {
l++;
}
}
return l;
}
function countLeapYears(year) {
let l = 0;
if (year > new Date().getFullYear()) {
l = countLYforwards(year);
} else {
l = countLYbackwards(year);
}
return l;
}
function parseYear(year) {
console.log('parsing ' + year);
if (year.toString().length < 2) {
console.log('!!!' + year);
return '000' + year;
} else if (year.toString().length < 3) {
console.log('!!' + year);
return "00" + year;
} else if (year.toString().length < 4) {
console.log('!' + year);
return "0" + year;
}
return year.toString();
}
function countAge(day, month, year) {
const oneDay = (1000 * 60 * 60 * 24);
const leapYears = countLeapYears(year);
console.log(year.length);
year.setFullYear(parseYear(year));
if (year > new Date().getFullYear()) {
return Math.trunc((Math.abs(new Date() - new Date(year, month - 1, day))
+ leapYears * oneDay) / oneDay);
} else {
return Math.trunc((Math.abs(new Date() - new Date(year, month - 1, day))) / oneDay);
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Можно-ли с помощью JS,искусственно вызвать в поле вот такое окно:
Рендерю все страницы для юзеров на сервере, так вот мне нужно минифицировать все html, css, и jsНо есть проблема, некоторые html содержат в себе так-же...