Перевірка чи являється рік високосним у JavaScript.
Отримуємо рік від дати за допомогою метода Date.getFullYear() і перевіряємо: якщо рік кратний 4 і не кратний 100 або рік кратний 400 тоді - рік високосний.
function isLeapYear(d){
var y=d.getFullYear();
return (y%4==0 && y%100!=0) || y%400==0 ?true:false;
};
var date=new Date();
if(isLeapYear(date))
alert('рік високосний');
else
alert('рік НЕ високосний');
Функцію можна додати до об'єкту Date через прототипи:
Date.prototype.isLeapYear=function(){
var y=this.getFullYear();
return (y%4==0 && y%100!=0) || y%400==0 ?true:false;
};
var d=new Date();
alert( d.isLeapYear() );
Інший спосіб полягає в задані дня 29 в місяці лютий за допомогою Date.setDate(). Якщо рік не високосний тоді дата буде змінена на 1 березня.
function isLeapYear2(year){
var d=new Date(year+'-02-29');
return d.getDate()==29;
}
alert( isLeapYear2(2012) );