Dalam kalender Gregorian, definisi tahun kabisat yang habis dibagi 4 sedikit mengalami perubahan.
Mengganti Kalender Julian menjadi Kalender Gregorian
Terjadinya perubahan kalender Julian menjadi kalender Gregorian disebabkan adanya selisih antara panjang satu tahun dalam kalender Julian dengan panjang rata-rata tahun tropis (tropical year). Satu tahun kalender Julian adalah 365,2500 hari. Sementara panjang rata-rata tahun tropis adalah 365,2422. Berarti dalam satu tahun terdapat selisih 0,0078 hari atau hanya 11 menit 14 detik. Namun, selisih ini akan menjadi satu hari dalam jangka 128 tahun. Jadii dalam ratusan atau ribuan tahun, selisih ini menjadi signifikan hingga beberapa hari. Jika dihitung dari tahun 325 M (saat Konsili Nicea menetapkan musim semi atau ''vernal equinox'' jatuh pada 21 Maret) sampai dengan tahun 1582, terdapat selisih sebanyak (1582 - 325) × 0,0078 hari = 9,8 hari atau hampir 10 hari. Dan ini dibuktikan dengan musim semi pada tahun 1582 M, di mana vernal equinox jatuh pada tanggal 11 Maret, bukan sekitar tanggal 21 Maret seperti biasanya. Karena itulah, saat kalender Gregorian ditetapkan, tanggal melompat sebanyak 10 hari. Tanggal setelah 4 Oktober 1582 bukan 5 Oktober tetapi 15 Oktober 1582.
Dalam kalender Gregorian, panjang rata-rata satu tahun adalah 365,2425 hari yang mana cukup dekat dengan rata-rata tahun tropis sebesar 365,2422 hari. Selisihnya dalam setahun adalah 0,0003 hari, yang berarti akan terjadi perbedaan satu hari setelah sekitar 3300 tahun. Sebagai perbandingan, dalam kalender Islam yang menggunakan peredaran bulan, rata-rata satu bulan sinodik adalah 29,530589 hari. Dalam kalender Islam secara aritmetika (bukan hasil observasi/rukyat), dalam 30 tahun (360 bulan) terdapat 11 tahun kabisat (355 hari) dan 19 tahun biasa (354 hari). Rata-rata hari dalam satu bulan adalah (11 × 355 + 19 × 354) / 360 = 29,530556 hari. Dengan demikian dalam satu bulan, selisih antara satu bulan sinodik dengan satu bulan aritmetik adalah 0,000033 hari. Selisih ini akan menjadi satu hari setelah kira-kira 30000 bulan atau 2500 tahun.
Adanya perubahan dari kalender Julian menjadi Gregorian membuat kesulitan tersendiri untuk membandingkan peristiwa astronomis yang terpisah dalam jangka waktu cukup lama. Untuk mengatasi masalah ini, diperkenalkan Hari Julian. Hari Julian (JD) didefinisikan sebagai banyaknya hari yang telah dilalui sejak hari Senin, 1 Januari tahun 4713 SM (sebelum Masehi) pada pertengahan hari pukul 12:00:00 UT (Waktu Sedunia) atau GMT. Perlu diingat, tahun 4713 SM tersebut sama dengan tahun -4712.
- JD 0 = 1 Januari -4712 12:00:00 UT = 1,5 Januari -4712 (karena pukul 12 menunjukkan 0,5 hari)
- JD 0,5 = 2 Januari -4712 00:00:00 UT
- JD 1 = 3 Januari -4712, dan seterusnya
- 4 Oktober 1582 M = JD 2299159,5
- 15 Oktober 1582 M = JD 2299160,5
Jika JD berkaitan dengan waktu yang dihitung menurut Dynamical Time (TD, bukan DT) atau Ephemeris Time, biasanya digunakan istilah Julian Ephemeris Day (JDE, bukan JED). Sebagai contoh:
Dalam ilmu hisab astronomis kontemporer, pemahaman terhadap Julian Day sangat penting. Julian Day menjadi syarat kita dapat menghitung posisi benda bulan, matahari dan planet-planet yang selanjutnya dipakai untuk menentukan bulan baru, waktu salat, dll. Julian Day juga menjadi dasar untuk menentukan fenomena alam seperti menentukan kemiringan orbit rotasi bumi, menghitung kapan terjadinya ekuinoks dan solstice, dan sebagainya.
Rumus hari Julian:

Keterangan umum:
- JD = hari Julian
- Y = tahun di mana Y ≥ -4712
- M = bulan di mana M > 2
- D = hari
- untuk B sebagai berikut:

A tidak perlu dihitung serta B = 0
Keterangan khusus:
- Jika M = 1 atau 2, maka M diganti M+12 serta Y diganti Y-1
- Untuk INT (diakronimkan yaitu integer) di mana bilangan pecahan dibulatkan menjadi diatas tanpa dilihat bertanda. Contoh: INT(12) = 12, INT(3,57) = 3, INT(-4,7) = -5 (bukan -4), INT(-25,79) = -26, dsb.
- Hitunglah hari Julian untuk hari kemerdekaan Republik Indonesia tanggal 17 Agustus 1945.
- D= 17. M = 8. Y = 1945.
- A = INT(1945 / 100) = INT(19,45) = 19.
- B = 2 + INT(19 / 4) - 19 = 2 + 4 - 19 = -13.
- JD = 1720994,5 + INT(365,25 × 1945) + INT(30,6001 × 9) + (-13) + 17 = 2431684,5.
- 17 Agustus 1945 = JD 2431684,5.
- Hitunglah hari Julian saat terjadi Nabi Muhammad SAW melakukan puasa pertama pada tanggal 26 Februari 624 M.
- Karena M = 2, maka M diubah menjadi 14 dan Y menjadi 623.
- Karena termasuk kalender Julian, B = 0.
- JD = 1720994,5 + INT(365,25 × 623) + INT(30,6001 ×15) + 0 + 26 = 1949029,5.
- 26 Februari 624 M = JD 1949029,5.
- Waktu dalam jam, menit dan detik dapat pula dimasukkan ke dalam pecahan hari. Karena 1 hari = 24 jam, 1 jam = 60 menit dan 1 menit = 60 detik, maka pecahan hari = (jam × 3600 + menit × 60 + detik) atau 86400 detik.
- Bulan baru (newmoon) terjadi pada hari Sabtu, 1 Januari 2962 SM pukul 19:47:04 TD. Carilah JDE.
- Dari data asal diketahui M = 1 dan Y = -2961. Karena itu M berubah menjadi 13 dan Y = -2962.
- D = 1 + (19 × 3600 + 47 × 60 + 4) / 86400 = 1,82435. B = 0.
- Jadi JDE = 1720994,5 + INT(365,25 × -2962) + INT(30,6001 × 14) + 0 + 1,82435 = 1720994,5 - 1081871 + 428 + 1,82435 = 639553,32435.
- 1 Januari 2962 SM pukul 19:47:04 TD = JDE 639553,32435.
Nama hari dapat ditentukan dengan mudah dengan menggunakan JD. Perlu diketahui, pergantian hari terjadi pada pukul 00:00:00 di mana JD mengandung angka xxxxxxx,5. Tambahkan JD dengan 1,5, lalu dibagi 7. Sisanya ditambah 1 menunjukkan nomor hari, di mana nomor hari = 1 adalah hari Ahad, nomor hari 2 hari Senin, dan seterusnya hingga nomor hari 7 menunjukkan hari Sabtu.
- Tentukan hari apakah tanggal 17 Agustus 1945.
- JD untuk tanggal 17 Agustus 1945 adalah 2431684,5.
- JD + 1,5 = 2431686, yang selanjutnya jika dibagi 7 akan bersisa 5.
- Nomor hari = 5 + 1 = 6.
- 17 Agustus 1945 adalah hari Jumat.
JD dapat pula digunakan untuk menentukan selang waktu antara dua tanggal.
- Tentukan selang waktu antara 2 gerhana matahari total yang terjadi pada tanggal 11 Juli 2010 dan 13 November 2012.
- JD untuk kedua tanggal tersebut masing-masing adalah 2455388,5 dan 2456244,5.
- Selisih antara tanggal 11 Juli 2010 dan 13 November 2012 adalah 856 hari.
Jika paparan di atas adalah mengubah tanggal menjadi JD, maka kini akan disajikan sebaliknya. Metode untuk mengubah JD menjadi tanggal adalah sebagai berikut.
JD1 = JD + 0,5.
Z = INT(JD1).
F = JD1 - Z.
Jika Z < 2299161, maka A = Z.
Adapun jika Z > = 2299161, hitunglah AA = INT((Z - 1867216,25) / 36524,25) dan A = Z + 1 + AA - INT(AA / 4).
Selanjutnya
B = A + 1524.
C = INT((B - 122.1) / 365,25).
D = INT(365,25*C).
E = INT((B - D) / 30,6001).
Tanggal (termasuk juga dalam bentuk desimal) dapat dihitung dari B - D - INT(30,6001*E) + F.
Bulan M dapat dihitung sebagai berikut.
Jika E = 14 atau 15, maka M = E - 13.
Jika E < 14, maka M = E - 1.
Tahun Y dapat dihitung sebagai berikut.
Jika M = 1 atau 2, maka Y = C - 4715.
Jika M > 2, maka Y = C - 4716.
- Tentukan tanggal bulan dan tahun untuk JD = 2457447,9505.
- JD1 = 2457448,4505. Z = 2457448 dan F = 0,4505.
- Karena Z > 2299161 maka AA = INT((2457448 - 1867216,25) / 36524,25) = 16.
- A = 2457448 + 1 + 16 - INT(16/4) = 2457461.
- B = 2458985.
- C = INT((2458985 - 122.1) / 365,25) = 6731.
- D = INT(365,25 × 6731) = 2458497.
- E = INT((2458985 - 2458497) / 30,6001) = 15.
- Tanggal = 2458985 - 2458497 - INT(30,6001 × 15) + 0,4505 = 29,4505.
- Angka desimal pada tanggal tersebut adalah 0,4505 hari yang jika dikonversikan ke dalam waktu menjadi pukul 10:48:43.2.
- Karena E = 15, maka Bulan M = 15 - 13 = 2 atau Februari.
- Karena M = 2, maka Tahun Y = 6731 - 4715 = 2016.
- Jadi JD 2457447,9505 = 29 Februari 2016 pukul 10:48:43,2 Hijriyah.