JavaScript

проверить является ли текущий год високосным.

программа должна работать независимо от даты, когда её запускают. Помогите пожалуйста
Nurtai Kusainov
Nurtai Kusainov
1 790
const isLeap = function(year) {
year = Number.parseInt(year, 10);
let result = false;
if (!Number.isNaN(year)) {
if (year % 4 !== 0) {
result = false;
} else if (0 === year % 400) {
result = true;
} else if (0 === year % 100) {
result = false;
} else {
result = true;
}
}
return result;
};
let result = "";
for (let year = 1899; year <= 2018; year += 1) {
if (isLeap(year)) {
result += "<span style='color:red'>" + year.toString() + " - " + "Да! </span><br>";
} else {
result += "<span style='color:green'>" + year.toString() + " - " + "Нет! </span><br>";
}
}
document.write(result);
Виктор Рыбкин
Виктор Рыбкин
86 133
Лучший ответ
Видимо просто нужно кинуть в объект date дату 29 февраля и посмотреть как Джаваскрипт на этот демарш отреагирует. В не високосный год он будет считать что 29 февраля это 1 марта.
var date = new Date(2018, 1, 29, 0, 0, 0, 0);
var day = date.getDate();
document.write(day);
if (day == 1) {
alert('год не високосный');
} else {
alert('год високосный');
}
_____________________
А дальше уже можно допилить чтобы определял независимо от введенной даты
Ну напиши формулы, по которым проверяется, а код уже написать несложно
Рыбак Рыбак
Рыбак Рыбак
84 506
Nurtai Kusainov Помогите пожалуйста, буду очень благодарен!
А зачем что либа писать если год не делится на 4 без остатка значит высокосный
!(2018%4)//false
!(2016%4)//true

function isLeapYear (date) {
const year = date.getFullYear();
return !(year % 4) && !!(year % 100) || !(year % 400);
}

Test: http://jsfiddle.net/denvdmj/ckk4xovz/embedded/js,result/dark/

Ах жеж! Вот без использования Date:

const isLeapYear = year => !(year % 4) && !!(year % 100) || !(year % 400);

https://jsfiddle.net/denvdmj/abqnxhda/embedded/result,js/dark/
Александр Бусыгин Ах жеж! Вот без использования Date:

const isLeapYear = year => !(year % 4) && !!(year % 100) || !(year % 400);

https://jsfiddle.net/denvdmj/abqnxhda/embedded/result,js/dark/