Skip to main content

Command Palette

Search for a command to run...

تحديات برمجة نظام التقويم المزدوج (هجري/ميلادي) في تطبيق عقاري

Updated
1 min read

عند بناء منصة أملاكي (amlakire.com)، كان دعم التقويم الهجري من أكبر التحديات التقنية. هنا أشارك الدروس المستفادة.

التحدي الأول: الحساب الدقيق

الشهر الهجري يتراوح بين 29 و 30 يوماً، والسنة الهجرية 354 أو 355 يوماً. لا يمكنك ببساطة طرح 11 يوماً من التاريخ الميلادي.

الحل: Intl.DateTimeFormat

التحدي الثاني: حساب دورات الدفع الهجرية

إذا كان العقد يبدأ في 1 محرم 1447 ودورة الدفع ربع سنوية، يجب حساب 4 دفعات بفارق 3 أشهر هجرية بينها — وليس 90 يوماً ميلادياً.

التحدي الثالث: التخزين في قاعدة البيانات

نخزن التواريخ دائما كـ TIMESTAMP ميلادي في PostgreSQL. التحويل للهجري يحدث في طبقة العرض فقط.

التحدي الرابع: تقويم أم القرى

السعودية تستخدم تقويم أم القرى رسميا. JavaScript الحديث يدعمه عبر: ar-SA-u-ca-islamic (وليس islamic-civil أو islamic-tbla)

النتيجة

نظام يعرض التاريخين في كل مكان — العقود، الأقساط، سندات القبض، والتقارير — بدقة تامة.

المنصة: amlakire.com