الاتصال عبر MCP →

أدخل الحساب

صيغة رياضية

اعلان

نتائج

لقد وُلدت يوم
Tuesday
يوم في الأسبوع
Your next birthday (٢٠٢٦) Saturday

ماذا تفعل هذه الحاسبة؟

هل تساءلت يومًا في أي يوم من أيام الأسبوع وُلدت — هل كان يوم جمعة هادئًا أم يوم اثنين مزدحمًا؟ تخبرك حاسبة يوم الميلاد في الأسبوع باليوم الدقيق الذي وافق تاريخ ميلادك، وكمكافأة إضافية تكشف لك في أي يوم سيقع عيد ميلادك القادم. وهي تعمل مع أي تاريخ في التقويم الميلادي (الغريغوري).

تقويم يُبرز تاريخ ميلاد يشير إلى تسمية يوم من أيام الأسبوع
تحوّل الآلة الحاسبة أي تاريخ ميلاد إلى يومه من أيام الأسبوع.

كيفية الاستخدام

أدخل سنة ميلادك، واختر شهر ميلادك من القائمة المنسدلة، ثم اكتب يوم ميلادك. اضغط على زر الحساب. سيعرض المربع الرئيسي يوم الأسبوع الذي وُلدت فيه، بينما يوضّح الجدول أدناه يوم عيد ميلادك القادم حتى تبدأ في التخطيط للاحتفال.

شرح المعادلة

تعتمد الأداة على قاعدة زيلر (Zeller's congruence)، وهي خوارزمية كلاسيكية لتحديد يوم الأسبوع لأي تاريخ. يُعامَل شهرا يناير وفبراير على أنهما الشهران 13 و14 من السنة السابقة. تحسب المعادلة قيمة h، حيث 0 = السبت، و1 = الأحد، وهكذا. ثم نعيد ترتيب هذه القيمة لتظهر بالترتيب المألوف من الأحد إلى السبت. ولأنها تعتمد على حسابات الأعداد الصحيحة فقط، فهي دقيقة تمامًا ولا تنحرف أبدًا.

$$h = \left( D + \left\lfloor \frac{13(m+1)}{5} \right\rfloor + K + \left\lfloor \frac{K}{4} \right\rfloor + \left\lfloor \frac{J}{4} \right\rfloor + 5J \right) \bmod 7$$$$\text{where}\quad \left\{ \begin{aligned} D &= \text{Birth Day} \\ m &= \text{Month}\ \ (\text{Jan,Feb} \to 13,14\text{ of prior year}) \\ Y &= \text{Birth Year}\ (\text{adjusted}) \\ K &= Y \bmod 100,\quad J = \left\lfloor Y/100 \right\rfloor \end{aligned} \right.$$
مخطط يوضح متغيرات تطابقية زِلَر d وm وk وj وهي تغذّي نتيجة باقي القسمة على 7
تجزّئ تطابقية زِلَر التاريخ إلى مكونات تُجمع ثم تُختزل باقي القسمة على 7.

مثال محلول

لنأخذ تاريخ 15 يوليو 1990. هنا \(m = 7\)، و\(d = 15\)، والسنة = 1990 إذن \(k = 90\) و\(j = 19\). ومن ثم $$h = (15 + \lfloor 13\cdot 8/5 \rfloor + 90 + \lfloor 90/4 \rfloor + \lfloor 19/4 \rfloor + 5\cdot 19) \bmod 7 = (15 + 20 + 90 + 22 + 4 + 95) \bmod 7 = 246 \bmod 7 = 1$$ وهو يوم الأحد. إذن من وُلد في 15 يوليو 1990 قد وُلد يوم الأحد.

تعريفات المتغيرات

  • \(D\) — يوم الشهر. يوم التقويم بالضبط كما هو مكتوب، من 1 إلى 31. لا يتم تطبيق أي تعديل على \(D\) أبداً.
  • \(m\) — رقم الشهر المعدل. مارس = 3 حتى ديسمبر = 12 يتم استخدامها كما هي. يناير وفبراير خاصان: يتم التعامل معهما كشهري 13 و14 من السنة السابقة. هذا لأن تطابق زيلر يعتبر مارس بداية السنة، مما يبقي يوم السنة الكبيسة في نهاية الدورة.
  • \(Y\) — السنة المعدلة. إذا كان التاريخ في يناير أو فبراير، اطرح 1 من سنة التقويم (لأن هذه الأشهر تنتمي إلى السنة السابقة في هذا المخطط). جميع الأشهر الأخرى تحافظ على السنة الأصلية.
  • \(K\) — سنة القرن. \(K = Y \bmod 100\)، أي آخر رقمين من السنة المعدلة. لسنة 2024 هذا هو 24؛ لسنة 1999 هذا هو 99.
  • \(J\) — القرن بلا أساس. \(J = \lfloor Y / 100 \rfloor\)، رقم القرن بدون تقريب لأعلى. لسنة 2024 هذا هو 20؛ لسنة 1999 هذا هو 19.
  • \(h\) — رمز اليوم الناتج. الباقي بمعامل 7 بعد دمج جميع الشروط، مما يعطي قيمة 0–6 تحتوي على يوم من أيام الأسبوع باستخدام جدول الكود الناتج أعلاه.

أمثلة عملية إضافية

المثال 1 — تاريخ في يناير (يوضح تحول الشهر والسنة)

خذ 15 يناير 2000. لأن الشهر هو يناير، عيّن \(m = 13\) واستخدم السنة السابقة، إذاً السنة المعدلة هي \(Y = 1999\). ثم \(D = 15\)، \(K = 1999 \bmod 100 = 99\)، و\(J = \lfloor 1999/100 \rfloor = 19\).

$$h = \left(15 + \left\lfloor \tfrac{13(13+1)}{5} \right\rfloor + 99 + \left\lfloor \tfrac{99}{4} \right\rfloor + \left\lfloor \tfrac{19}{4} \right\rfloor + 5 \cdot 19 \right) \bmod 7$$

حدود الدالة \(\lfloor 182/5 \rfloor = 36\)، \(\lfloor 99/4 \rfloor = 24\)، و\(\lfloor 19/4 \rfloor = 4\). المجموع: \(15 + 36 + 99 + 24 + 4 + 95 = 273\). ثم \(273 \bmod 7 = 0\)، إذاً \(h = 0\) → السبت. 15 يناير 2000 كان فعلاً السبت.

المثال 2 — تاريخ يوم السنة الكبيسة (29 فبراير 2000)

بالنسبة لـ 29 فبراير 2000، فبراير أيضاً يتم تحويله: \(m = 14\) والسنة المعدلة هي \(Y = 1999\)، مما يعطي \(K = 99\)، \(J = 19\)، و\(D = 29\).

$$h = \left(29 + \left\lfloor \tfrac{13(14+1)}{5} \right\rfloor + 99 + \left\lfloor \tfrac{99}{4} \right\rfloor + \left\lfloor \tfrac{19}{4} \right\rfloor + 5 \cdot 19 \right) \bmod 7$$

هنا \(\lfloor 195/5 \rfloor = 39\)، \(\lfloor 99/4 \rfloor = 24\)، \(\lfloor 19/4 \rfloor = 4\). المجموع: \(29 + 39 + 99 + 24 + 4 + 95 = 290\)، و\(290 \bmod 7 = 3\)، إذاً \(h = 3\) → الثلاثاء. وقع 29 فبراير 2000 على الثلاثاء. لاحظ أن سنة 2000 سنة كبيسة لأنها قابلة للقسمة على 400.

المثال 3 — تاريخ حديث (4 يوليو 2023)

بالنسبة لـ 4 يوليو 2023، يوليو هو شهر عادي، إذاً \(m = 7\) بدون تغيير السنة: \(Y = 2023\)، \(D = 4\)، \(K = 23\)، \(J = 20\).

$$h = \left(4 + \left\lfloor \tfrac{13(7+1)}{5} \right\rfloor + 23 + \left\lfloor \tfrac{23}{4} \right\rfloor + \left\lfloor \tfrac{20}{4} \right\rfloor + 5 \cdot 20 \right) \bmod 7$$

حدود الدالة هي \(\lfloor 104/5 \rfloor = 20\)، \(\lfloor 23/4 \rfloor = 5\)، \(\lfloor 20/4 \rfloor = 5\). المجموع: \(4 + 20 + 23 + 5 + 5 + 100 = 157\)، و\(157 \bmod 7 = 3\)، إذاً \(h = 3\) → الثلاثاء. يوم الاستقلال 2023 كان الثلاثاء.

الأسئلة الشائعة

هل تعمل مع التواريخ القديمة؟ نعم، مع أي تاريخ في التقويم الغريغوري الممتد (proleptic). أما التواريخ السابقة لإصلاح التقويم عام 1582 فقد تختلف عن السجلات التاريخية التي كانت تستخدم التقويم اليولياني.

كيف يتم التعامل مع السنوات الكبيسة؟ تتعامل قاعدة زيلر مع السنوات الكبيسة تلقائيًا من خلال حساباتها على باقي القسمة، لذا تُحسب تواريخ 29 فبراير بشكل صحيح.

ماذا لو كان عيد ميلادي قد مرّ هذا العام؟ تنتقل نتيجة عيد الميلاد القادم تلقائيًا إلى العام المقبل إذا كان عيد ميلادك قد حلّ بالفعل هذا العام.

آخر تحديث: