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」に格納されているからです)、私は基本的にこれに従いました here なので、すでに持っているものを使用して、エントリがこれらの条件に基づいたうるう年(擬似コードの実装時に間違ったことがあるかもしれませんが、もしあれば修正してください)編集:これは日付関数ではなく整数を使用する必要があることに注意してください
function leapYear(year)
{
return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}
この関数は、2月が29日かどうかをチェックします。もしそうなら、うるう年があります。
ES5
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
Kevin P. Riceにより、より高速なソリューションが提供されています: https://stackoverflow.com/a/11595914/5535820 したがって、次のコードです
function leapYear(year)
{
return (year & 3) == 0 && ((year % 25) != 0 || (year & 15) == 0);
}
Node.jsアプリでこれを行う場合は、 leap-year パッケージを使用できます。
npm install --save leap-year
次に、アプリから次のコードを使用して、提供された年または日付オブジェクトがうるう年かどうかを確認します。
var leapYear = require('leap-year');
leapYear(2014);
//=> false
leapYear(2016);
//=> true
このようなライブラリを使用することには、ライブラリが面倒を見てくれるので、すべての特殊なケースを正しく行うという汚い詳細に対処する必要がないという利点があります。
次のコードを使用して、it年かどうかを確認できます。
ily = function(yr) {
return (yr % 400) ? ((yr % 100) ? ((yr % 4) ? false : true) : false) : true;
}