لإضافة التاريخ الهجري إلى تطبيقك احفظ كل الأوقات في قاعدة البيانات بالتوقيت العالمي (UTC) وبالتقويم الميلادي، واعرض الهجري عند العرض فقط باستخدام تقويم أم القرى المعتمد في السعودية، مع إظهار التاريخين معاً عند الحاجة. مواقيت الصلاة تُحسب حسب الموقع وطريقة الحساب المعتمدة محلياً، وبداية رمضان والعيد تعتمد على رؤية الهلال، فاجعلها إعدادات يحدّثها المشرف لا تواريخ ثابتة في الكود. ودوام رمضان يحتاج جداول ساعات خاصة تدعم الأوقات التي تتجاوز منتصف الليل.
- اضافة التاريخ الهجري في التطبيق
- تقويم ام القرى برمجة
- مواقيت الصلاة في تطبيق
- دوام رمضان في نظام الحجز
- كيف اعرض التاريخ الهجري والميلادي معا
- التاريخ يظهر هجري ar-SA
كيف تضيف التاريخ الهجري إلى تطبيقك بالطريقة الصحيحة؟
إضافة التاريخ الهجري إلى التطبيق تبدو مسألة تنسيق بسيطة، لكنها في الواقع قرار في تصميم البيانات. القاعدة الذهبية: خزّن كل التواريخ والأوقات بالتقويم الميلادي وبالتوقيت العالمي (UTC)، واعرض الهجري عند العرض فقط، باستخدام تقويم أم القرى المعتمد رسمياً في السعودية. بهذا تبقى الحجوزات والتقارير والفواتير دقيقة، ويرى المستخدم التاريخ بالشكل الذي يألفه.
في الخليج تتعايش ثلاثة أشياء في حياة المستخدم اليومية: التقويم الهجري في المناسبات الدينية وبعض المستندات الرسمية، والتقويم الميلادي في الرواتب والأعمال، وإيقاع الصلاة ورمضان الذي يغير ساعات العمل والتسوق. التطبيق الذي يحترم هذا الإيقاع يشعر المستخدم بأنه صُنع له، والتطبيق الذي يتجاهله يبدو غريباً حتى لو كان عربياً. هذا جزء من تجربة المستخدم العربية الأصيلة.
خزّن الوقت مرة واحدة بدقة، واعرضه بكل الطرق التي يحتاجها المستخدم.
كيف تخزّن التواريخ وتعرضها دون أخطاء؟
| الحالة | ماذا تخزّن | ماذا تعرض |
|---|---|---|
| حجز أو طلب أو دفعة | الوقت بالتوقيت العالمي UTC | الوقت المحلي، والتاريخ الهجري والميلادي حسب تفضيل المستخدم |
| تاريخ ميلاد من هوية سعودية | التاريخ كما أدخله المستخدم مع نوع التقويم، ثم المقابل الميلادي | التاريخ بالتقويم الذي أدخله المستخدم |
| مناسبة سنوية هجرية (عرض العيد) | الشهر واليوم الهجري، وتاريخاً ميلادياً يؤكده المشرف كل سنة | تاريخ المناسبة بالتقويمين |
| عقد أو اشتراك سنوي | تاريخ البداية والنهاية بالميلادي، مع ملاحظة إن كان العقد هجرياً | التاريخين، مع توضيح أي تقويم يحكم المدة |
| ساعات العمل | أوقات محلية لكل يوم من الأسبوع، وجداول خاصة لرمضان والأعياد | ساعات اليوم الحالي وحالة «مفتوح الآن» |
انتبه أيضاً إلى أن السنة الهجرية أقصر من الميلادية بنحو 11 يوماً. اشتراك «سنة هجرية» واشتراك «سنة ميلادية» ليسا الشيء نفسه، فوضّح للمستخدم أي تقويم يحكم المدة والتجديد، خصوصاً في الإيجارات والعقود.
أين يحتاج المستخدم التاريخ الهجري فعلاً؟
- منتقي التاريخ في الحجوزات: إظهار الهجري تحت الميلادي يساعد من يخطط لمناسبة مثل «ثالث أيام العيد».
- نماذج البيانات الشخصية: بعض المستندات السعودية تعرض تاريخ الميلاد بالهجري، فاسمح بالإدخال بالتقويمين.
- الفواتير والإيصالات: إظهار التاريخين مفيد للعملاء والشركات، مع بقاء الميلادي أساساً للمحاسبة.
- رسائل التذكير: «موعدك الخميس 10 رمضان» أوضح لكثيرين في رمضان من التاريخ الميلادي وحده.
- التطبيقات الدينية والتعليمية: حلقات التحفيظ، والعمرة، والصيام التطوعي تعتمد على الهجري أساساً.
- التقارير الموسمية: مقارنة مبيعات رمضان هذا العام بالعام الماضي تحتاج المقارنة بالهجري لا بالميلادي.
رمضان والأعياد: لماذا لا تكتبها في الكود؟
بداية رمضان وعيد الفطر وعيد الأضحى تُعلن بناءً على رؤية الهلال، وقد تختلف بيوم عن الحساب الفلكي أو التقويم المطبوع. لذلك لا تكتب تواريخها ثابتة في الكود. اجعلها إعدادات في لوحة الإدارة يؤكدها المشرف عند الإعلان الرسمي، مع تاريخ متوقع يُستخدم للتخطيط المسبق.
- 1أنشئ جدول مواسم
لكل موسم: الاسم، تاريخ البداية والنهاية المتوقع، وحالة «مؤكد» أو «متوقع».
- 2اربط الإعدادات بالموسم
ساعات العمل، ونوافذ التوصيل، والعروض، وقوالب الرسائل تتغير تلقائياً عند بداية الموسم.
- 3أكّد عند الإعلان
المشرف يضغط «تأكيد» أو يعدّل اليوم ليلة الرؤية، فتتحدث كل الإعدادات المرتبطة.
- 4اختبر الانتقال
جرّب في بيئة الاختبار ما يحدث عند تقديم الموسم أو تأخيره يوماً: الحجوزات القائمة، والعروض، والرسائل المجدولة.
تذكّر أن الموسم لا يعني رمضان والعيدين فقط. في السعودية هناك يوم التأسيس (22 فبراير) واليوم الوطني (23 سبتمبر)، وفي الإمارات عيد الاتحاد (2 ديسمبر)، وهذه بتواريخ ميلادية ثابتة. نظام المواسم الجيد يدعم النوعين. للتحضير التسويقي راجع قائمة جاهزية رمضان للمتاجر السعودية وقائمة رمضان للتجارة الإلكترونية في الإمارات.
دوام رمضان وساعات العمل التي تتجاوز منتصف الليل
في رمضان تتغير ساعات العمل الرسمية والتجارية: الجهات تعلن ساعات عمل مخففة، وكثير من المحلات والمطاعم تفتح بعد الإفطار حتى السحور. هنا تنكسر تطبيقات كثيرة لأن جدول الساعات فيها لا يفهم أن «من 9 مساءً إلى 3 فجراً» فترة واحدة تبدأ يوماً وتنتهي في اليوم التالي.
- خزّن كل فترة بوقت بداية ومدة، أو بعلامة واضحة أنها تنتهي في اليوم التالي.
- اسمح بأكثر من فترة في اليوم، مثل فترة قبل الإفطار وفترة بعد التراويح.
- احسب حالة «مفتوح الآن» بعد منتصف الليل من فترة اليوم السابق.
- اعرض نوافذ التوصيل والحجز بحسب ساعات رمضان، لا الساعات العادية.
- راعِ اختلاف عطلة نهاية الأسبوع: الجمعة والسبت في السعودية، والسبت والأحد في معظم الإمارات.
- انتبه لفرق التوقيت: السعودية UTC+3 والإمارات UTC+4، ولا يوجد توقيت صيفي في البلدين.
مواقيت الصلاة في التطبيق: متى تحتاجها وكيف تضيفها؟
ليست كل التطبيقات بحاجة لمواقيت الصلاة، لكنها مفيدة في تطبيقات المساجد والتحفيظ والسفر، وفي تطبيقات الخدمات التي تريد تجنب جدولة المواعيد وقت الصلاة، مثل زيارة فني أو موعد صالون. المواقيت تُحسب حسب إحداثيات المدينة وطريقة حساب معتمدة، والطريقة المستخدمة في السعودية (أم القرى) تختلف في بعض التفاصيل عن الطرق المستخدمة في دول أخرى.
- احسب المواقيت حسب مدينة المستخدم أو موقع الفرع
- استخدم طريقة الحساب المعتمدة في كل دولة
- اعرضها كمرجع، مع إمكانية تعديل دقائق الاحتياط
- اترك هامشاً قبل الصلاة وبعدها في جداول المواعيد إن رغب صاحب العمل
- مواقيت ثابتة مكتوبة يدوياً لكل السنة
- مدينة واحدة لكل المستخدمين في عدة مدن
- منع الحجز آلياً وقت الصلاة دون خيار لصاحب العمل
- الادعاء بأن المواقيت رسمية إن لم تكن من الجهة المختصة
ابنِ ذلك في تطبيقك بطلب واحد
إذا كنت تبني تطبيقك على فنّان، فدعم التاريخ الهجري والواجهة من اليمين لليسار جزء أساسي من وكيل فنّان. صف احتياجك كما في المثال التالي، ثم اختبر الحالات الحساسة: ليلة الرؤية، وما بعد منتصف الليل في رمضان، والمستخدم في مدينة مختلفة. وإن كان تطبيقك ثنائي اللغة فاقرأ كيف تبني موقعاً عربياً إنجليزياً يبدو أصيلاً باللغتين.
أضف إلى تطبيق الحجز الخاص بي دعماً كاملاً للتقويم الهجري ورمضان. المطلوب: خزّن كل الأوقات بالتوقيت العالمي واعرضها بالتوقيت المحلي للفرع (الرياض UTC+3، دبي UTC+4). أضف إعداداً للمستخدم لعرض التاريخ ميلادي أو هجري (أم القرى) أو الاثنين، مع أرقام 0-9. منتقي التاريخ يعرض الهجري تحت الميلادي. أنشئ جدول مواسم في لوحة الإدارة (رمضان، عيد الفطر، عيد الأضحى، اليوم الوطني، يوم التأسيس) لكل موسم تاريخ متوقع وزر «تأكيد» للمشرف. لكل فرع ساعات عادية وساعات رمضان تدعم فترات متعددة وفترات تنتهي بعد منتصف الليل، وحالة «مفتوح الآن» صحيحة بعد 12 ليلاً. أضف خياراً لصاحب العمل لإغلاق المواعيد 20 دقيقة وقت كل صلاة حسب مدينة الفرع. لا ترسل إشعارات تسويقية من 30 دقيقة قبل المغرب حتى ساعة بعده في رمضان.
جرّبه في فنّانالخلاصة
- خزّن بالتوقيت العالمي وبالميلادي، واعرض الهجري عند العرض فقط.
- استخدم تقويم أم القرى للسعودية، وانتبه أن إعدادات اللغة ar-SA قد تعرض الهجري تلقائياً.
- بداية رمضان والعيد تُعلن برؤية الهلال، فاجعلها إعداداً يعدّله المشرف.
- دوام رمضان يتجاوز منتصف الليل غالباً، فصمّم جداول الساعات لتدعم ذلك.
- مواقيت الصلاة تعتمد على المدينة وطريقة الحساب، فاعرضها كمرجع لا كقرار نظامي.
أسئلة شائعة
كيف اضيف التاريخ الهجري في تطبيقي؟
هل احفظ التاريخ الهجري في قاعدة البيانات؟
كيف اعرف بداية رمضان في التطبيق؟
ليش التاريخ يطلع هجري في موقعي بدون ما اطلب؟
كيف اضيف مواقيت الصلاة لتطبيقي؟
اسأل مساعدك الذكي عن هذا الموضوع
انسخ هذا الطلب والصقه في مساعد الذكاء الاصطناعي الذي تستخدمه، ثم أضف تفاصيل حالتك.
أقرأ هذا الدليل: «التاريخ الهجري ومواقيت الصلاة ودوام رمضان داخل تطبيقك» https://fanann.com/ar/blog/hijri-calendar-apps/ سؤالي: اضافة التاريخ الهجري في التطبيق اعتمد على هذه الصفحة كمصدر واشرح لي الإجابة خطوة بخطوة بما يناسب حالتي، واذكر ما يجب أن أتحقق منه قبل أن أبدأ، واذكر رابط الصفحة كمرجع.