任何语言都有可能计算某一年是否为瑞年的方法,也就是说一年有 366 天,每隔4 年就出现一次。最基本的算法如下:if year is divisible by 400 then
is_leap_year
else if year is divisible by 100 then
not_leap_year
else if year is divisible by 4 then
is_leap_year
else
not_leap_year
知道了这个基本算法,那么起始与语言无关了,这里就用JAVA 语言做一个讲解
public class DateTimeExample {
public static void main(String[] args) {
DateTimeExample obj = new DateTimeExample();
System.out.println("1993 is a leap year : " + obj.isLeapYear(1993));
System.out.println("1996 is a leap year : " + obj.isLeapYear(1996));
System.out.println("2012 is a leap year : " + obj.isLeapYear(2012));
}
public boolean isLeapYear(int year) {
if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) {
return true;
} else {
return false;
}
}
}
输出结果如下
1993 is a leap year : false
1996 is a leap year : true
2012 is a leap year : true
当然,起始用Calendar 也是可以计算出来的.
import java.util.GregorianCalendar;
//...
public boolean isLeapYear(int year) {
GregorianCalendar cal = (
GregorianCalendar) GregorianCalendar.getInstance();
return cal.isLeapYear(year);
}