Проверьте, является ли год високосным годом в JavaScript
function leapYear(year){
var result;
year = parseInt(document.getElementById("isYear").value);
if (years/400){
result = true
}
else if(years/100){
result = false
}
else if(years/4){
result= true
}
else{
result= false
}
return result
}
Это то, что я имею до сих пор (запись хранится в "isYear"), я в основном следовал этому здесь, поэтому, используя то, что у меня уже есть, как я могу проверить, является ли запись високосным годом на основе этих условий (обратите внимание, что я мог сделать это неправильно при реализации псевдокода, пожалуйста, исправьте меня, если у меня есть) Редактировать: Обратите внимание, что для этого нужно использовать целое число, а не функцию даты
7 ответов
function leapYear(year)
{
return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}
Функция проверяет, есть ли в феврале 29 дней. Если это произойдет, то у нас високосный год.
function isLeap(year) {
return new Date(year, 1, 29).getDate() === 29;
}
ES6
let isLeap = (year) => new Date(year, 1, 29).getDate() === 29;
isLeap(1004) // true
isLeap(1001) // false
Кевин П. Райс предлагает более быстрое решение здесь: /questions/36182965/kak-najti-visokosnyij-god-programmno-v-c/36182967#36182967 Так вот код:
function leapYear(year)
{
return (year & 3) == 0 && ((year % 25) != 0 || (year & 15) == 0);
}
Если вы делаете это в приложении Node.js, вы можете использовать пакет високосного года:
npm install --save leap-year
Затем из своего приложения используйте следующий код, чтобы проверить, является ли предоставленный объект года или даты високосным годом:
var leapYear = require('leap-year');
leapYear(2014);
//=> false
leapYear(2016);
//=> true
Преимущество такой библиотеки в том, что вам не нужно разбираться с грязными деталями, чтобы правильно понять все особые случаи, поскольку библиотека об этом позаботится.
Вы можете использовать следующий код для проверки високосного года:
ily = function(yr) {
return (yr % 400) ? ((yr % 100) ? ((yr % 4) ? false : true) : false) : true;
}
Мой код очень легко понять
var year = 2015;
var LeapYear = year % 4;
if (LeapYear==0) {
alert("This is Leap Year");
} else {
alert("This is not leap year");
}
Вы можете попробовать использовать объект Date в JavaScript
new Date(year,month).getFullYear()%4==0
Это вернет истину или ложь.