İşte bu nedenle her dört yılda bir takvime 1 gün eklenir. Yani 4′e tam bölünen yıllarda Şubat ayı 29 çeker. Ancak bu bilgi de özünde eksiktir. Çünkü uzaybilimcilerin hesaplamalarına göre 1 yıl tam olarak 365 gün, 6 saat, 9 dakika ve 9.3 saniyedir. Şu anda kullandığımız Gregoryen takvimde hesabın tutması için şöyle bir yol izlenmiştir:
4′e tam bölünen yıllar artık yıldır.
100′e tam bölünen yıllar artık yıl değildir.
400′e tam bölünen yıllar artık yıldır.
4000′e tam bölünen yıllar artık yıl değildir.
Örneğin, yeni binyıla girdiğimiz 2000 artık yıl olarak kabul edilerek, Şubat ayına 1 gün eklenmiştir. Buna karşılık 1900 yılı artık yıl değildir ve Şubat 28 çekmiştir. Buradan yola çıkarak artık yıl hesaplamasını aşağıdaki gibi yapabiliriz;
public static void main(String[] args) {
int girilenYil = 1991;
if (((girilenYil % 4) == 0) && ((girilenYil % 100) == 0) && ((girilenYil % 400) == 0) && ((girilenYil % 4000) != 0))
System.out.println(girilenYil + " artık yıldır");
else
System.out.println(girilenYil + " artık yıl değildir.");
}
Not : girilenYil adında bir değişken belirledik. Bu değişkene verilen değer klavyeden kullnıcı tarafından değil programcı tarafından girilmektedir.