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,所以使用我已有的,我如何检查条目是否是基于这些条件的闰年(注意我在实现伪代码时可能做错了,如果有的话请纠正我) 编辑:注意这需要使用整数而不是日期函数
答案 0 :(得分:139)
function leapYear(year)
{
return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}
答案 1 :(得分:29)
该功能检查二月是否有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
答案 2 :(得分:4)
Kevin P. Rice提供了一个更快的解决方案:https://stackoverflow.com/a/11595914/5535820 所以这是代码:
function leapYear(year)
{
return (year & 3) == 0 && ((year % 25) != 0 || (year & 15) == 0);
}
答案 3 :(得分:3)
如果您在Node.js应用中执行此操作,则可以使用leap-year包:
npm install --save leap-year
然后,从您的应用中,使用以下代码验证提供的年份或日期对象是否为闰年:
var leapYear = require('leap-year');
leapYear(2014);
//=> false
leapYear(2016);
//=> true
使用像这样的库有一个优点,就是你不需要处理所有特殊情况的肮脏细节,因为库会处理这个问题。
答案 4 :(得分:0)
您可以使用以下代码检查它是否为闰年:
ily = function(yr) {
return (yr % 400) ? ((yr % 100) ? ((yr % 4) ? false : true) : false) : true;
}
答案 5 :(得分:-9)
我的代码很容易理解
var year = 2015;
var LeapYear = year % 4;
if (LeapYear==0) {
alert("This is Leap Year");
} else {
alert("This is not leap year");
}
答案 6 :(得分:-10)
您可以尝试使用JavaScript的日期对象
new Date(year,month).getFullYear()%4==0
这将返回true或false。