Penanggalan Arab (Hijriyah) ada tiga macam. Pertama, penanggalan berdasarkan hisab 'urfi. Disebut pula arithmetic (tabular) calendar, dan kadang disebut juga penanggalan Fatimiyah (meskipun ini kayak menyebut deterjen sebagai "rinso", atau menyebut pompa air sebagai "sanyo"), dicetuskan mulai abad ke-9 M. Kedua, penanggalan berdasarkan hisab hakiki. Ketiga, penanggalan berdasarkan ru'yatul hilal (observasi bulan).
Penanggalan berdasarkan hisab 'urfi atau aritmetik (tabular) sifatnya predictable, bisa dibikin kalendernya setiap tahun, bahkan sampai dengan tahun2 depan tanpa ada batasnya. Inilah yang biasa tercantum di kalender2 kita atau aplikasi2 kalender hijriyah kita.
Penanggalan berdasarkan hisab hakiki tidak hanya didasarkan pada periode "synodic month", namun juga pada beberapa kriteria terkait dengan posisi bulan dan matahari secara astronomis. Hisab hakiki terbagi lagi menjadi dua: 1) hisab hakiki wujudul hilal, yang di Indonesia dipelopori oleh Muhammadiyah, dan 2) hisab hakiki imkaniyatur ru'yah.
Penanggalan berdasarkan observasi bulan sifatnya unpredictable, karena didasarkan pada observasi yang harus dilakukan setiap bulan. Jadi, gak bisa dibuat kalender tahunannya. Jika kita punya aplikasi kalender hijriyah, tanggal2 yang ada pada penanggalan aritmetik disitu bisa "dikoreksi" oleh hasil observasi bulan ini.
Sekarang, mari kita bicara penanggalan aritmetik. Dalam penanggalan ini, karena rerata "synodical month" (periode antara dua new moon) adalah 29.530589 hari, yang jika ditaksir ke satu desimal menjadi 29.5 hari, maka trik-nya adalah menjadikan setiap bulan terdiri dari 29 dan 30 hari secara berselang-seling. Bulan genap terdiri dari 29 hari, sedangkan bulan ganjil terdiri dari 30 hari. Sehingga, ada 6 bulan yang terdiri dari 29 hari, dan 6 bulan lainnya yang terdiri dari 30 hari. Total jumlah hari dalam setahun adalah 354 hari.
Namun 29.530589 × 12 = 354.367068. Dengan demikian, penanggalan aritmetik sebagaimana diatas masih kurang 0.367068 hari. Ini setara dengan 11/30. Untuk mengkompensasi kekurangan ini, maka dibuatlah 11 "leap year" setiap 30 tahun. Pada setiap "leap year", bulan ke-12 (Dzulhijjah) dibikin 30 hari, bukan 29 hari seperti biasa. Sehingga pada "leap year", jumlah hari dalam setahun adalah 355 hari. Tahun keberapa sajakah "leap year" ini pada setiap tahunnya, terdapat beberapa versi yang berbeda. Agak njlimet kan. Dalam paper ini disebutkan empat versi penanggalan aritmetik: https://www.sciencedirect.com/.../pii/S2090997717300329
Ini berbeda dengan penanggalan matahari (Gregorian) dimana kompensasi yang diperlukan adalah minus 1/4. Angka bagus nih. Sehingga leap year (tahun kabisat) pada penanggalan matahari cukuplah sekali setiap empat tahun, yakni dilakukan dengan menjadikan bulan Pebruari hanya 28 hari pada tahun kabisat.