تحديد يوم الأسبوع

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

المفاهيم

في الحساب العددي، تُمثَّل أيام الأسبوع بأرقام أيام الأسبوع. إذا كان يوم الاثنين هو أول أيام الأسبوع، فيمكن ترميز الأيام من 1 إلى 7، من الاثنين إلى الأحد، كما هو مُتَّبع في معيار ISO 8601. يمكن أيضًا اعتبار اليوم المُعَلَّم بالرقم 7 هو 0 ، بتطبيق عملية حساب باقي القسمة على 7، والتي تُحسب باقي قسمة العدد على 7. وبالتالي، يُعامل الرقم 7 على أنه 0، والرقم 8 على أنه 1، والرقم 9 على أنه 2، والرقم 18 على أنه 4، وهكذا. إذا حُسب يوم الأحد على أنه اليوم 1، فإن اليوم التالي بسبعة أيام (أي اليوم 8 )  هو أيضًا يوم أحد، واليوم 18 هو نفسه اليوم 4، وهو يوم أربعاء لأنه يقع بعد ثلاثة أيام من يوم الأحد (أي 18 mod 7 = 4 ) . 

معيارالاثنينيوم الثلاثاءالأربعاءيوم الخميسجمعةالسبتالأحدأمثلة على الاستخدام
ISO 86011234567%_ISODOWI%,  %@ISODOWI[]% ( 4DOS ); [ 1 ] DAYOFWEEK() ( HP Prime ) [ 2 ]
0123456
2345671%NDAY OF WEEK% ( NetWare , DR-DOS [ 3 ] ); %_DOWI%, %@DOWI[]% ( 4DOS ) [ 1 ] 
1234560حاسبات مالية من HP

يبدأ النهج الأساسي لجميع طرق حساب يوم الأسبوع تقريبًا بالبدء من "تاريخ مرجعي": زوج معروف (مثل 1 يناير 1800 كيوم الأربعاء)، وتحديد عدد الأيام بين اليوم المعروف واليوم المراد تحديده، واستخدام الحساب modulo 7 لإيجاد يوم جديد من أيام الأسبوع.

تتمثل إحدى الطرق الشائعة في البحث (أو حساب، باستخدام قاعدة معروفة) عن قيمة اليوم الأول من أسبوع قرن معين، والبحث (أو حساب، باستخدام طريقة التطابق) عن تعديل للشهر، وحساب عدد السنوات الكبيسة منذ بداية القرن، ثم جمع هذه القيم مع عدد السنوات منذ بداية القرن، ورقم يوم الشهر. في النهاية، يسمح تطبيق باقي القسمة على 7 على عدد الأيام بتحديد يوم الأسبوع لذلك التاريخ. [ 4 ]

تُجري بعض الطرق جميع عمليات الجمع أولًا ثم تتخلص من الرقم سبعة، بينما تتخلص طرق أخرى منه في كل خطوة، كما في طريقة لويس كارول . ولكلتا الطريقتين فائدة عملية: فالأولى أسهل للآلات الحاسبة وبرامج الحاسوب، بينما الثانية أسهل للحساب الذهني. لا تُجري أي من الطرق المذكورة هنا فحوصات النطاق، لذا فإن التواريخ غير المنطقية ستؤدي إلى نتائج خاطئة.

الأيام المقابلة

كل يوم سابع في الشهر يحمل نفس اسم اليوم السابق:

يوم من الشهرد
00 07 14 21 280
01 08 15 22 291
02 09 16 23 302
03 10 17 24 313
04 11 18 254
05 12 19 265
06 13 20 276

الأشهر المقابلة

الأشهر المتناظرة هي تلك الأشهر في السنة التقويمية التي تبدأ في نفس اليوم من الأسبوع. على سبيل المثال، يتناظر شهرا سبتمبر وديسمبر، لأن الأول من سبتمبر يوافق الأول من ديسمبر (حيث يوجد ثلاثة عشر أسبوعًا بالضبط، كل أسبوع سبعة أيام، بين التاريخين). لا تتناظر الأشهر إلا إذا كان عدد الأيام بين يوميهما الأولين قابلاً للقسمة على 7، أو بعبارة أخرى، إذا كان الفرق بين يوميهما الأولين عددًا صحيحًا من الأسابيع. على سبيل المثال، يتناظر شهر فبراير في السنة العادية مع شهر مارس لأن فبراير يتكون من 28 يومًا، وهو عدد قابل للقسمة على 7، و28 يومًا تساوي أربعة أسابيع بالضبط. في السنة الكبيسة ، يتناظر شهرا يناير وفبراير مع شهرين مختلفين عن السنة العادية، لأن إضافة 29 فبراير تعني أن كل شهر لاحق يبدأ بعد يوم واحد.

يُقابل شهر يناير شهر أكتوبر في السنوات العادية، وشهري أبريل ويوليو في السنوات الكبيسة. ويُقابل شهر فبراير شهري مارس ونوفمبر في السنوات العادية، وشهر أغسطس في السنوات الكبيسة. ويُقابل شهر مارس دائمًا شهر نوفمبر، ويُقابل شهر أبريل دائمًا شهر يوليو، ويُقابل شهر سبتمبر دائمًا شهر ديسمبر. ولا يُقابل شهر أغسطس أي شهر آخر في السنوات العادية. ولا يُقابل شهر أكتوبر أي شهر آخر في السنوات الكبيسة. ولا يُقابل شهرا مايو ويونيو أي شهر آخر.

في جدول الأشهر أدناه، تتطابق أرقام الأشهر المتناظرة، وهي حقيقة تتبع مباشرة من التعريف.

السنوات المشتركةالسنوات الكبيسةكل السنواتم
ينايرأكتوبر0
يمكن1
فبرايرأغسطس2
فبرايرمارس نوفمبر3
يونيو4
سبتمبر ديسمبر5
ينايرأبريل يوليو6

السنوات المقابلة

هناك سبعة أيام محتملة لبداية السنة، وفي السنوات الكبيسة يتغير يوم الأسبوع بعد 29 فبراير. هذا يعني وجود 14 نمطًا مختلفًا للسنة. يمكن الإشارة إلى جميع هذه الأنماط بحرف خاص ، ولكن نظرًا لعدم وجود حرف مخصص ليوم 29 فبراير، فإن السنة الكبيسة لها حرفان خاصان، أحدهما لشهري يناير وفبراير، والآخر (خطوة واحدة للخلف في الترتيب الأبجدي) للأشهر من مارس إلى ديسمبر.

عام 2025 هو عام عادي يبدأ يوم الأربعاء، أي أنه يوافق عام 2014. أول شهرين من عام 2025 يوافقان أول شهرين من عام 2020. عام 2026 هو عام عادي يبدأ يوم الخميس، أي أنه يوافق عام 2015. آخر عشرة أشهر من عام 2026 توافق آخر عشرة أشهر من عام 2020. عام 2027 هو عام عادي يبدأ يوم الجمعة، أي أنه يوافق عام 2021. عام 2028 هو عام كبيس يبدأ يوم السبت، أي أنه يوافق عام 2000. أول شهرين من عام 2028 يوافقان أول شهرين من عام 2022. آخر عشرة أشهر من عام 2028 توافق آخر عشرة أشهر من عام 2023.

تتكرر السنة الكبيسة مرة كل 28 عامًا، بينما تتكرر السنة العادية مرة كل 6 أعوام ومرتين كل 11 عامًا. على سبيل المثال، كانت آخر سنة كبيسة تبدأ يوم الاثنين في عام 2024، وستكون السنة التالية في عام 2052. وبالمثل، ستكون السنوات العادية التالية التي تبدأ يوم الأربعاء هي 2031، 2042، ثم 2053. كلا العبارتين صحيحتان ما لم يتم تخطي سنة كبيسة، وهو ما لن يحدث حتى عام 2100.

للاطلاع على التفاصيل، انظر الجدول أدناه:

عام القرن بصيغة 28y
00 06 12 17 230
01 07 12 18 241
02 08 13 19 242
03 08 14 20 253
04 09 15 20 264
04 10 16 21 275
05 11 16 22 006

ملحوظات:

  • اللون الأسود يعني جميع أشهر السنة العادية
  • اللون الأحمر يعني أول شهرين من السنة الكبيسة
  • اللون الأزرق يعني الأشهر العشرة الأخيرة من السنة الكبيسة

القرون المقابلة

القرن اليولياني المعدل 700القرن الغريغوري المعدل 400 [ ب ]يوم
400: 1100 1800 ...300: 1500 1900 ...شمس
300: 1000 1700 ...الاثنين
200 0900 1600 ...200: 1800 2200 ...الثلاثاء
100 0800 1500 ...تزوج
700: 1400 2100 ...100: 1700 2100 ...الخميس [ ج ]
600: 1300 2000 ...الجمعة
500: 1200 1900 ...000: 1600 2000 ...قعد

في التسلسل الزمني العادي، يُمثل "العام 000" العام 1 قبل الميلاد (الذي يسبق عام 1 ميلادي). أما في الترقيم الفلكي للسنوات، فيقع العام 0 بين عامي 1 قبل الميلاد و1 ميلادي. في التقويم اليولياني الاستباقي (أي التقويم اليولياني كما كان سيُطبق لو تم استخدامه بشكل صحيح منذ البداية)، يبدأ عام 1 قبل الميلاد يوم الخميس. أما في التقويم الغريغوري الاستباقي (الذي سُمي بهذا الاسم لأنه لم يُوضع إلا عام 1582)، فيبدأ عام 1 قبل الميلاد يوم السبت.

طرق جدولية لحساب يوم الأسبوع

جدول كامل: التقويم اليولياني والتقويم الغريغوري

بالنسبة للتواريخ اليوليانية قبل عام 1300 وبعد عام 1999، يُستخدم العام في الجدول الذي يختلف بمضاعفات دقيقة للعدد 700 عام. أما بالنسبة للتواريخ الغريغورية بعد عام 2299، فيُستخدم العام في الجدول الذي يختلف بمضاعفات دقيقة للعدد 400 عام. تشير القيم من " r0 " إلى " r6 " إلى باقي قسمة قيمة المئات على 7 و4 على التوالي، مما يدل على امتداد السلسلة في كلا الاتجاهين. ولتسهيل الأمر، تُعرض القيم اليوليانية والغريغورية من 1500 إلى 1999. تشير الأرقام المكتوبة بخط غامق (مثل 04 ) إلى السنة الكبيسة. إذا انتهت السنة بـ 00 وكانت مئاتها مكتوبة بخط غامق، فهي سنة كبيسة. وبالتالي، يشير الرقم 19 إلى أن عام 1900 ليس سنة كبيسة غريغورية (لكن الرقم 19 في عمود السنة اليوليانية يشير إلى أنها سنة كبيسة يوليانية، كما هو الحال مع جميع السنوات اليوليانية التي تنتهي بـ 00). يشير الرقم 20 إلى أن عام 2000 سنة كبيسة. استخدم شهري يناير وفبراير فقط في السنوات الكبيسة.

مئات السنينالأرقام المتبقية من السنةشهر
داو جونز
8
جوليان (r ÷ 7)التقويم الغريغوري (r ÷ 4)
r5 1916 20 r000 06  17 2328 34  45 5156 62  73 7984 90ينايرأكتوبرسا0
r4 1815 19 r301 07 12 1829 35 40 4657 63 68 7485 91 96يمكنسو1
r3 17غير متوفر02  13 19 2430  41 47 5258  69 75 8086  97فبرايرأغسطسم2
r2 1618 22 r203 08 14  2531 36 42  5359 64 70  8187 92 98فبرايرمارنوفمبرتو3
r1 15غير متوفر 09 15 20 26 37 43 48 54 65 71 76 82 93 99يونيودبليو4
r0 1417 21 r104 10  21 2732 38  49 5560 66  77 8388 94سبتمبرديسمبرذ5
r6 13غير متوفر05 11 16 2233 39 44 5061 67 72 7889 95ينايرأبريليوليوF6

لتحديد يوم الأسبوع (1 يناير 2000، السبت)

  • يوم الشهر: 1 ~ 31 (1)
  • الشهر: (6)
  • السنة: (0)
  • القرن mod 4 للتقويم الغريغوري و mod 7 للتقويم اليولياني (0) .
  • جمع 1 + 6 + 0 + 0 = 7. القسمة على 7 ينتج عنها باقي يساوي 0، لذا فإن يوم الأسبوع هو السبت.

الصيغة هي w = (d + m + y + c) mod 7.

التقويم اليولياني المنقح

لاحظ أن التاريخ (وبالتالي يوم الأسبوع) في التقويمين اليولياني والغريغوري المنقحين هو نفسه من 14 أكتوبر 1923 إلى 28 فبراير 2800 شاملًا، وأنه بالنسبة للسنوات الكبيرة قد يكون من الممكن طرح 6300 أو مضاعفاتها قبل البدء للوصول إلى سنة تقع ضمن الجدول أو أقرب إليه.

للبحث عن يوم الأسبوع لأي تاريخ في أي سنة باستخدام الجدول، اطرح 100 من السنة، ثم اقسم الناتج على 100، واضرب الناتج (مع إهمال الكسور) في 7، ثم اقسم الناتج على 9. دوّن الناتج (مع إهمال الكسور). أدخل السنة اليوليانية في الجدول، وقبل القسمة الأخيرة مباشرةً، أضف 50 واطرح الناتج المذكور أعلاه.

فيما يلي مثال على حساب يوم الأسبوع ليوم 27 يناير 8315:

٨٣١٥ - ٦٣٠٠ = ٢٠١٥، ٢٠١٥ - ١٠٠ = ١٩١٥، ١٩١٥ ÷ ١٠٠ = ١٩ والباقي ١٥، ١٩ × ٧ = ١٣٣، ١٣٣ ÷ ٩ = ١٤ والباقي ٠. ٢٠١٥ يسبق ١٣١٥ بـ ٧٠٠ عام، لذا يُستخدم ١٣١٥. من الجدول: للمئات (١٣): ٦. للأرقام المتبقية (١٥): ٤. للشهر (يناير): ٠. للتاريخ (٢٧): ٢٧. إذن ، يوم الأسبوع هو الخميس.

رسالة دومينيكال

لإيجاد الحرف الرئيسي ، احسب يوم الأسبوع إما في 1 يناير أو 1 أكتوبر، وقم بتعيين حرف بحيث يكون يوم الأحد هو الحرف A، ويوم السبت هو الحرف B، ... ويوم الاثنين هو الحرف G.

تحتوي السنوات الكبيسة على حرفين من حروف يوم الأحد، لذلك بالنسبة لشهري يناير وفبراير، احسب يوم الأسبوع لشهر يناير الأول؛ وبالنسبة لشهر مارس إلى ديسمبر، احسب يوم الأسبوع لشهر أكتوبر الأول.

السنوات الكبيسة هي جميع السنوات التي تنقسم على أربعة بالضبط باستثناء ما يلي:

في التقويم الغريغوري - جميع السنوات التي تنقسم بالضبط على 100 (باستثناء تلك التي تنقسم بالضبط على 400).

في التقويم اليولياني المنقح - جميع السنوات التي تقسم بالضبط على 100 (باستثناء تلك التي تعطي باقي 200 أو 600 عند قسمتها على 900).

يوم القيامة

تحسب خوارزمية يوم القيامة، التي ابتكرها عالم الرياضيات جون هورتون كونواي، يوم الأسبوع لأي تاريخ في أي سنة في التقويم الميلادي (أو، مع تعديل طفيف، في التقويم اليولياني). ويمكن إجراؤها ذهنياً لأن الحفظ والحساب المطلوبين محدودان.

نتيجة

فيما يلي جدول لإيجاد يوم الأسبوع بدون إجراء حسابات.

فِهرِسالاثنين أالثلاثاء بالأربعاء جالخميس دالجمعة هـالسبت الجمعةصن جيالتقويم الغريغوري واليولياني الدائم. استخدم شهري يناير وفبراير للسنوات الكبيسة. استخدم حرف التاريخ في صف السنة للحرف الموجود في صف القرن.

جميع أيام C هي أيام القيامة

القرن اليوليانيالقرن الغريغوريتاريخ01 08 15 22 2902 09 16 23 3003 10 17 24 3104 11 18 2505 12 19 2606 13 20 2707 14 21 28
12 1916 20أبريليوليوينايرجيأبجدهـF010712182935404657636874859196
13 20سبتمبرديسمبرFجيأبجدهـ0213192430414752586975808697
14 2117 21يونيوهـFجيأبجد030814253136425359647081879298
15 22فبرايرمارنوفمبردهـFجيأبج0915202637434854657176829399
16 2318 22أغسطسفبرايرجدهـFجيأب0410212732384955606677838894
17 24يمكنبجدهـFجيأ0511162233394450616772788995
18 2519 23ينايرأكتوبرأبجدهـFجي061723283445515662737984900 0
[السنة/100]القرن الغريغوري20 1621 1722 1823 19السنة mod 100
القرن اليولياني19 1220 1321 1422 1523 1624 1725 18

أمثلة:

  • للطريقة الشائعة
26 ديسمبر 1893 (GD)

يقع شهر ديسمبر في الصف F والرقم 26 في العمود E ، لذا فإن حرف التاريخ هو C الموجود في الصف F والعمود E. الرقم 93 (باقي قسمة السنة على 100) يقع في الصف D (صف السنة)، وحرف C في صف السنة يقع في العمود G. الرقم 18 (السنة مقسومة على 100 في عمود القرن الميلادي) يقع في الصف C (صف القرن)، وحرف B في صف القرن والعمود G ، لذا فإن يوم الأسبوع هو الثلاثاء.

13 أكتوبر 1307 (JD)

يوم 13 أكتوبر هو يوم يبدأ بحرف الفاء. يقع حرف الفاء في صف السنة (07) في العمود G. أما حرف الياء في صف القرن (13) والعمود G ، لذا فإن يوم الأسبوع هو الجمعة.

1 يناير 2000 (GD)

يتوافق الأول من يناير مع G، و G في صف السنة ( 0 0) يتوافق مع F في صف القرن ( 20 )، و F يتوافق مع يوم السبت.

صيغة موجزة للطريقة: "الحرف (G) للتاريخ، الحرف (G) موجود في صف السنة ( 0 0) للحرف (F) في صف القرن ( 20 )، وبالنسبة لليوم، يصبح الحرف (F) يوم من أيام الأسبوع (السبت)" .

طريقة الرسائل يوم الأحد

يُخصص لكل يوم من أيام السنة (باستثناء 29 فبراير) حرفٌ في التسلسل المتكرر ABCDEFG. يبدأ التسلسل بالحرف A في 1 يناير ويستمر حتى A مرة أخرى في 31 ديسمبر. حرف الأحد هو الحرف الذي يُمثل جميع أيام الأحد في السنة. بما أن 29 فبراير ليس له حرف، فهذا يعني أن حرف الأحد من مارس إلى ديسمبر يقع في مرتبة أدنى في التسلسل مقارنةً بحرفي يناير وفبراير. يُحدد حرف أي تاريخ عند التقاء الصف الذي يحتوي على الشهر (باللون الأسود) على يسار "المربع اللاتيني" مع العمود الذي يحتوي على التاريخ أعلى "المربع اللاتيني". يُحدد حرف الأحد عند التقاء العمود الذي يحتوي على القرن (أسفل "المربع اللاتيني") مع الصف الذي يحتوي على آخر رقمين من السنة على يمين "المربع اللاتيني". في السنة الكبيسة، يكون حرف الأحد المُحدد هو الحرف الذي يُمثل الفترة من مارس إلى ديسمبر.

فعلى سبيل المثال، لإيجاد يوم الأسبوع الموافق 16 يونيو 2020:

يلتقي العمود "20" بالصف "20" عند النقطة "D". ويلتقي الصف "يونيو" بالعمود "16" عند النقطة "F". وبما أن F تقع بعد حرفين من D، فإن يوم الأسبوع هو بعد يومين من الأحد، أي الثلاثاء.

الخوارزميات الرياضية

راتا دي

تعتمد طريقة راتا داي على جمع عدد الأيام d التي انقضت منذ تاريخ يوم معروف من أيام الأسبوع D. ويتم تحديد يوم الأسبوع من خلال ( D + d ) mod 7 ، وفقًا لأي اصطلاح تم استخدامه لترميز D.

على سبيل المثال، تاريخ 13 أغسطس 2009 هو 733632 يومًا من 1 يناير ميلادي. بأخذ باقي قسمة الرقم على 7 ينتج 4، وبالتالي يوم الخميس.

خوارزمية جاوس

وصف كارل فريدريش غاوس طريقةً لحساب يوم الأسبوع في الأول من يناير من أي سنة معينة في ملاحظة مكتوبة بخط اليد ضمن مجموعة من الجداول الفلكية. [ 5 ] لم ينشرها قط، بل أُدرجت أخيرًا في أعماله الكاملة عام 1927. [ 6 ] وبالمقارنة مع طريقة "راتا دي"، تُسهّل هذه الطريقة حساب السنوات.

كانت طريقة غاوس قابلة للتطبيق على التقويم الغريغوري. قام بترقيم أيام الأسبوع من 0 إلى 6 بدءًا من يوم الأحد. وقد حدد العملية التالية.

المدخلات
السنة رقم A ، الشهر رقم M ، التاريخ رقم D.
الناتج
يوم من أيام السنة.
إجراء
  1. حدد أولاً يوم الأسبوع d 1 من 1 يناير.
    • بالنسبة للتقويم الميلادي، يكون يوم الأسبوع هو [ 5 ] (1 + 5(( A 1) % 4) + 4(( A 1) % 100) + 6(( A 1) % 400)) % 7. أو بدلاً من ذلك، ضع C = A \ 100 ، وY = A % 100 ، والقيمة هي (1 + 5(( Y 1) % 4) + 3( Y 1) + 5(C % 4)) % 7.          
    • بالنسبة للتقويم اليولياني، يكون يوم الأسبوع هو (6 + 5(( A 1)%4) + 3( A 1)) % 7 أو (6 + 5(( Y 1) % 4) + 3( Y 1) + 6C) % 7 .       
  2. والآن حدد الإزاحة المتعلقة بالشهر m باستخدام جدول البحث مع M.
  3. أرجع d = ( d 1 + m + D )  % 7 .
جدول إزاحات الأشهر
شهورينايرفبرايرمارأبريليمكنيونيويوليوأغسطسسبتمبرأكتوبرنوفمبرديسمبر
السنوات المشتركة033614625035
السنوات الكبيسة4025036146

يمكن اختصار الإجراء المذكور أعلاه إلى تعبير واحد للحالة الغريغورية: (D + m + 5(( A 1)%4) + 4(( A 1)%100) + 6(( A 1)%400))%7  

مثال عملي

بالنسبة للسنة رقم 2000، حيث A − 1 = 1999 ، و Y − 1 = 99، و C = 19 ، فإن يوم الأسبوع الموافق 1 يناير هو

= (1 + 5(1999%4) + 4(1999%100) + 6(1999%400))%7
= (1 + 1 + 4 + 0)  % 7
= 6
= (1 + 5(99%4) + 3 × 99 + 5(19%4))%7
= (1 + 1 + 3 + 1)%7
= 6 = السبت.

على سبيل المثال، أيام الأسبوع في 30 أبريل 1777 و23 فبراير 1855 هي

= (30 + 6 + 5(1776%4) + 4(1776%100) + 6(1776%400))%7
= (2 + 6 + 0 + 3 + 6)%7
= 3 = الأربعاء

و

= (6 + 23 + 2.6 × 12 + 5(1854%4) + 4(1854%100) + 6(1854%400))%7
= (6 + 2 + 4 + 3 + 6 + 5)%7
= 5 = الجمعة.

شرح وملاحظات

يمكن إثبات خوارزمية تحديد يوم الأسبوع في 1 يناير باستخدام حساب باقي القسمة. يكمن جوهر الخوارزمية في أنه بما أن 365  ÷ 7 = 1 ، فإن كل عام يضيف يومًا واحدًا إلى التتابع. أما الباقي فهو تعديل للسنة الكبيسة. في النسخ القائمة على القرن، يكون 365  ÷ 7 = 6 .

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

وقد تم تحويل هذه الصيغة أيضاً إلى طرق بيانية وجدولية لحساب أي يوم من أيام الأسبوع بواسطة كرايتشيك وشويردتفيغر. [ 6 ] [ 7 ]

تباين متباين

الصيغة التالية مثال على صيغة لا تستخدم جدول بحث. يُفترض أن السنة تبدأ في مارس، ما يعني أن تواريخ يناير وفبراير تُعتبر جزءًا من السنة السابقة. صيغة التقويم الميلادي هي [ 8 ]

w=(د+2.6م-0.2+y+y4+ج4-2ج)تعديل7،{\displaystyle w=\left(d+\lfloor 2.6m-0.2\rfloor +y+\left\lfloor {\frac {y}{4}}\right\rfloor +\left\lfloor {\frac {c}{4}}\right\rfloor -2c\right){\bmod {7}},}

أين

  • يمثل الحرف "د" يوم الشهر (من 1 إلى 31).
  • m هو الشهر المزاح (مارس = 1، ...، فبراير = 12)
  • يمثل Y السنة ما لم يكن m هو 11 = يناير أو 12 = فبراير، حيث يُعتبران جزءًا من السنة السابقة، مما يجعل Y = السنة - 1
  • ج هو القرن المعطى بواسطةج=Y/100{\displaystyle c=\lfloor Y/100\rfloor }
  • يمثل y السنة بالنسبة للقرن، كما هو موضح فيy=Y-100ج{\displaystyle y=Y-100c}أو ببساطة آخر رقمين من Y
  • w هو يوم الأسبوع (0 = الأحد، ...، 6 = السبت)
جدول إزاحات الأشهر (2.6م-0.2{\displaystyle \lfloor 2.6m-0.2\rfloor })
شهورمارأبريليمكنيونيويوليوأغسطسسبتمبرأكتوبرنوفمبرديسمبرينايرفبراير
إزاحة257101215182023252831

خوارزمية زيلر

في خوارزمية زيلر، تُرقّم الأشهر من 3 لشهر مارس إلى 14 لشهر فبراير. يُفترض أن السنة تبدأ في مارس؛ وهذا يعني، على سبيل المثال، أن يناير 1995 يُعتبر الشهر 13 من عام 1994. [ 9 ] صيغة التقويم الغريغوري هي w(13(م+1)5+y4+ج4+د+y-2ج)تعديل7{\displaystyle w\equiv \left(\left\lfloor {\frac {13(m+1)}{5}}\right\rfloor +\left\lfloor {\frac {y}{4}}\right\rfloor +\left\lfloor {\frac {c}{4}}\right\rfloor +d+y-2c\right){\bmod {7}}} أين

  • د{\displaystyle d}هو يوم من أيام الشهر (من 1 إلى 31)
  • م{\displaystyle m}هو الشهر المُزاح (مارس = 3، ... يناير = 13، فبراير = 14)
  • Y{\displaystyle Y}هو العام ما لمم{\displaystyle m}هل 13 = يناير أو 14 = فبراير، وهما يُعتبران جزءًا من السنة السابقة؟Y=سنة-1{\displaystyle Y={\textit {year}}-1}
  • ج{\displaystyle c}القرن الذي أعطاهج=Y/100{\displaystyle c=\lfloor Y/100\rfloor }
  • y{\displaystyle y}السنة بالنسبة للقرن، كما هو موضح فيy=Y-100ج{\displaystyle y=Y-100c}أو ببساطة آخر رقمين منY{\displaystyle Y}
  • w{\displaystyle w}هو يوم الأسبوع (1 = الأحد، ... 0 = السبت)
جدول إزاحات الأشهر (2.6(م+1){\displaystyle \lfloor 2.6(m+1)\rfloor })
شهورمارأبريليمكنيونيويوليوأغسطسسبتمبرأكتوبرنوفمبرديسمبرينايرفبراير
إزاحة101315182023262831333639

الفرق الوحيد هو واحد بين خوارزمية زيلر ( Z ) وخوارزمية غاوس المتباينة ( G )، وهو ZG = 1 = Sunday .

(د+(م+1)2.6+y+y/4+ج/4-2ج)تعديل7-(د+2.6م-0.2+y+y/4+ج/4-2ج)تعديل7{\displaystyle (d+\lfloor (m+1)2.6\rfloor +y+\lfloor y/4\rfloor +\lfloor c/4\rfloor -2c){\bmod {7}}-(d+\lfloor 2.6m-0.2\rfloor +y+\lfloor y/4\rfloor +\lfloor c/4\rfloor -2ج){\bmod {7}}}
=((م+2+1)2.6-(2.6م-0.2))تعديل7{\displaystyle =(\lالأرضية (م+2+1)2.6-(2.6m-0.2)\rالأرضية ){\bmod {7}}}(مارس = 3 في Z ولكن مارس = 1 في G )
=(2.6م+7.8-2.6م+0.2)تعديل7{\displaystyle =(\lfloor 2.6m+7.8-2.6m+0.2\rfloor ){\bmod {7}}}
=8تعديل7=1{\displaystyle =8{\bmod {7}}=1}

خوارزمية وانغ

خوارزمية وانغ [ 10 ] للحساب البشري للتقويم الغريغوري هي (يجب طرح الصيغة بمقدار 1 إذا كانت قيمة m تساوي 1 أو 2 إذا كانت السنة سنة كبيسة). w=(د-د0(م)+y0-y1+y0/4-y1/2-2(جتعديل4))تعديل7،{\displaystyle w=\left(d-d_{0}(m)+y_{0}-y_{1}+\left\lfloor y_{0}/4-y_{1}/2\right\rfloor -2\left(c{\bmod {4}}\right)\right){\bmod {7}},} أين

  • y0{\displaystyle y_{0}} هو الرقم الأخير من السنة ( وحدات)
  • y1{\displaystyle y_{1}} هو الرقم قبل الأخير من السنة ( العشرات )
  • ج{\displaystyle c}هو القرن، الذي أعطاهج=سنة/100{\displaystyle c=\lfloor {\textit {year}}/100\rfloor }
  • د{\displaystyle d}هو يوم الشهر (من 1 إلى 31)
  • م{\displaystyle m} هو الشهر (يناير = 1، ...، ديسمبر = 12)
  • w{\displaystyle w} هو يوم الأسبوع (0=الأحد، ...، 6=السبت)
  • د0(م){\displaystyle d_{0}(m)} هي دالة الأيام الفارغة (إزاحة الشهر) بقيم مدرجة في الجدول التالي
مد0(م){\displaystyle d_{0}(m)}
11يوم واحد
35م + 2
57
79
93م + 1
1112
212م + 3
42م − 2
64
86
108
1210

يمكن اشتقاق خوارزمية للتقويم اليولياني من الخوارزمية المذكورة أعلاه w=(د-د0(م)+y0-y1+y0/4-y1/2-ج)تعديل7،{\displaystyle w=\left(d-d_{0}(m)+y_{0}-y_{1}+\left\lfloor y_{0}/4-y_{1}/2\right\rfloor -c\right){\bmod {7}},} أيند0(م){\displaystyle d_{0}(m)}إنها يوم القيامة.

مد0(م){\displaystyle d_{0}(m)}
13يوم ج
37م + 4
59
711
95م − 4
117
20م − 2
44م
66
88
1010
1212

خوارزميات أخرى

طريقة شفيردتفيغر

في طريقة جدولية جزئية وضعها شفيردتفيغر، يُقسّم العام إلى قرن ورقمين من السنة داخل القرن. وتعتمد هذه الطريقة على الشهر. بالنسبة لـ m 3 ،

ج=y100وز=y-100ج،{\displaystyle c=\left\lfloor {\frac {y}{100}}\right\rfloor \quad {\text{and}}\quad g=y-100c,}

إذن، قيمة g تقع بين 0 و99. بالنسبة لـ m = 1 و2 ،

ج=y-1100وز=y-1-100ج.{\displaystyle c=\left\lfloor {\frac {y-1}{100}}\right\rfloor \quad {\text{and}}\quad g=y-1-100c.}

صيغة تحديد يوم الأسبوع هي [ 6 ]

w=(د+هـ+و+ز+ز4)تعديل7،{\displaystyle w=\left(d+e+f+g+\left\lfloor {\frac {g}{4}}\right\rfloor \right){\bmod {7}},}

حيث يتم اختيار المعامل الموجب. [ 6 ]

يتم الحصول على قيمة e من الجدول التالي:

م123456789101112
هـ032503514624

تُستخرج قيمة f من الجدول التالي، وهي تعتمد على التقويم. بالنسبة للتقويم الغريغوري، [ 6 ]

ج مود 40123
و0531

بالنسبة للتقويم اليولياني، [ 6 ]

ج مود 70123456
و5432106

أسلوب لويس كارول

ابتكر تشارلز لوتويدج دودجسون ( لويس كارول ) طريقةً تُشبه اللغز، ولكنها مُجدولة جزئيًا باستخدام أرقام الفهرس نفسها للأشهر كما في "الجدول الكامل: التقويمان اليولياني والغريغوري" أعلاه. يُدرج دودجسون التعديلات الثلاثة نفسها للأشهر الثلاثة الأولى من السنوات غير الكبيسة، مع زيادة سبعة أشهر في الشهر الأخير، ويُقدم تعليمات مُبهمة لإيجاد بقية التعديلات؛ ويتم تحديد تعديلاته للقرون باستخدام صيغ مُشابهة لتلك المُستخدمة في جدول القرون. وعلى الرغم من تأكيده الصريح على أن طريقته تُناسب أيضًا تواريخ التقويم القديم ، إلا أن المثال المُعاد ذكره أدناه لتحديد أن "  23 فبراير 1676" هو يوم أربعاء، لا يُناسب إلا التقويم اليولياني الذي يبدأ السنة في  1 يناير، بدلاً من 25 مارس كما هو الحال في التقويم اليولياني  "القديم" .

الخوارزمية: [ 11 ]

خذ التاريخ المعطى في 4  أجزاء، وهي: عدد القرون، وعدد السنوات، والشهر، ويوم الشهر.

احسب العناصر الأربعة التالية  ، وأضف كل عنصر منها، عند إيجاده، إلى مجموع العناصر السابقة. إذا تجاوز أي عنصر أو مجموع  7، فاقسم على  7، واحتفظ بالباقي فقط.

بند القرن: بالنسبة لـ " النمط القديم " (الذي انتهى في 2  سبتمبر 1752) اطرح من 18. بالنسبة لـ " النمط الجديد " (الذي بدأ في 14  سبتمبر 1752) اقسم على 4، واطرح الزائد من 3، واضرب الباقي في 2.

السنة-العنصر: اجمع عدد الدزينات، والفائض، وعدد الرقم 4 في الفائض.

رقم الشهر: إذا بدأ أو انتهى بحرف علة، اطرح الرقم الذي يدل على موقعه في السنة من 10. هذا، بالإضافة إلى عدد أيامه، يعطي رقم الشهر التالي. رقم شهر يناير هو "0"؛ ورقم شهري فبراير أو مارس هو "3"؛ ورقم شهر ديسمبر هو "12".

بند اليوم: يجب تصحيح المجموع الذي تم الوصول إليه عن طريق طرح "1" (مع إضافة 7 أولاً، إذا كان المجموع "0")، إذا كان التاريخ هو يناير أو فبراير في سنة كبيسة، مع الأخذ في الاعتبار أن كل سنة قابلة للقسمة على 4 هي سنة كبيسة، باستثناء سنوات القرن فقط، في "النمط الجديد"، عندما لا يكون عدد القرون قابلاً للقسمة (على سبيل المثال 1800).

تعطي النتيجة النهائية يوم الأسبوع، حيث يشير "0" إلى يوم الأحد، و"1" إلى يوم الاثنين، وهكذا.

أمثلة: [ 11 ]

1783،  18 سبتمبر

17 مقسومة على 4، يتبقى 1؛ 1 من 3 يعطي 2؛ ضعف ​​2 يعطي 4. 83 هي 6 دزينات و11، تعطي 17؛ إضافة 2 تعطي 19، أي (بالقسمة على 7) 5. المجموع 9، أي 2. عنصر شهر أغسطس هو 8 من 10، أي 2؛ لذا، بالنسبة لشهر سبتمبر، هو 2 زائد 31، أي 5. المجموع 7، أي 0، وهو ما يُستبعد. 18 تعطي 4. الإجابة، "الخميس".

 23 فبراير 1676

١٦ من ١٨ يساوي "٢". ٧٦ يساوي ٦ دزينات و٤، أي ١٠؛ إضافة ١ يساوي ١١، أي "٤". المجموع "٦". العنصر الخاص بشهر فبراير هو "٣". المجموع ٩، أي "٢". ٢٣ يساوي "٢". المجموع "٤". تصحيح السنة الكبيسة يساوي "٣". الإجابة: "الأربعاء".

كانت التواريخ قبل عام 1752 تُكتب في إنجلترا وفقًا للنمط القديم ، مع اعتبار 25  مارس أول أيام السنة الجديدة . إلا أن طريقة كارول تفترض أن 1  يناير هو أول أيام السنة، وبالتالي لم يتوصل إلى الإجابة الصحيحة، وهي "يوم الجمعة".

لو أنه لاحظ أن تاريخ 23 فبراير 1676 (مع اعتبار 25  مارس رأس السنة الميلادية) هو في الواقع تاريخ 23 فبراير 1677 (مع اعتبار 1  يناير رأس السنة الميلادية)، لكان قد أخذ في الحسبان اختلاف أرقام السنوات بين التقويمين، تمامًا كما يختلف تاريخ ميلاد جورج واشنطن . وبذلك، تكون النتيجة التي توصل إليها طريقته هي:

1677 (مصحح)، 23 فبراير

١٦ من ١٨ يساوي "٢". ٧٧ يساوي ٦ دزينات و٥، أي ١١؛ إضافة ١ يساوي ١٢، أي "٥". المجموع "٧". العنصر الخاص بشهر فبراير هو "٣". المجموع ١٠، أي "٣". ٢٣ يساوي "٢". المجموع "٥". الإجابة: "الجمعة".

ومن الجدير بالذكر أن أولئك الذين أعادوا نشر طريقة كارول قد فشلوا في الإشارة إلى خطئه، وعلى رأسهم مارتن غاردنر . [ 12 ]

في عام ١٧٥٢، تخلت الإمبراطورية البريطانية عن استخدام التقويم اليولياني القديم واعتمدت التقويم الغريغوري ، الذي أصبح اليوم التقويم القياسي في معظم دول العالم. لمزيد من المعلومات، انظر قسم التواريخ القديمة والحديثة .

الأساليب في لغة البرمجة

كيث

في التعبيرات المكتوبة بلغة C أدناه، yفإن mو و dهي على التوالي متغيرات عددية صحيحة تمثل السنة (على سبيل المثال، 1988) والشهر (1-12) واليوم من الشهر (1-31).

( d += m < 3 ? y -- : y -2 , 23 * m / 9 + d + 4 + y / 4 - y / 100 + y / 400 ) % 7

في عام ١٩٩٠، نشر مايكل كيث وتوم كرافر الصيغة المذكورة أعلاه، والتي تهدف إلى تقليل عدد ضغطات المفاتيح اللازمة لإدخال دالة مستقلة لتحويل التاريخ الميلادي إلى يوم من أيام الأسبوع. [ ١٣ ] تُرجع هذه الدالة 0= الأحد، 1= الاثنين، وهكذا. وتستخدم هذه الصيغة مكون الشهر بشكل أبسط من خوارزمية زيلر.

بعد ذلك بوقت قصير، قام هانز لاخمان بتبسيط خوارزميتهم لتسهيل استخدامها على الأجهزة منخفضة التكلفة. ولأنها صُممت في الأصل للآلات الحاسبة ذات الأربع وظائف، فإن طريقته تتطلب عددًا أقل من إدخالات لوحة المفاتيح عن طريق حصر نطاقها إما بين عامي 1905 و2099 ميلاديًا، أو على التواريخ اليوليانية التاريخية. وقد عُدّلت لاحقًا لتحويل أي تاريخ ميلادي، حتى على المعداد . وبالمثل، في الأجهزة التي تعمل بمعالج موتورولا 68000 ، تقل الحاجة إلى سجلات المعالج أو رموز العمليات ، وذلك حسب الهدف التصميمي المقصود. [ 14 ]

أساليب ساكاموتو

يُجسّد نموذج K&R C التالي، وهو النموذج الجدولي السابق لخوارزمية توندرينغ، في دالة K&R C التالية. [ 15 ] وقد تمّ تكييفه، مع تعديلات طفيفة، للغات برمجة عالية المستوى أخرى مثل APL2 . [ 16 ] نُشرت هذه الدالة بواسطة توموهيكو ساكاموتو على مجموعة أخبار comp.lang.c على يوزنت عام 1992، وهي دقيقة لأي تاريخ ميلادي. [ 17 ] [ 18 ]

dayofweek ( y , m , d ) /* 1 <= m <= 12, y > 1752 (في المملكة المتحدة) */ { static int t [] = { 0 , 3 , 2 , 5 , 0 , 3 , 5 , 1 , 4 , 6 , 2 , 4 }; if ( m < 3 ) { y -= 1 ; } return ( y + y / 4 - y / 100 + y / 400 + t [ m - 1 ] + d ) % 7 ; }

يعود إلى 0= الأحد، 1= الاثنين، إلخ.

كما نشر ساكاموتو في الوقت نفسه نسخة أكثر غموضاً:

dow ( m , d , y ) { y -= m < 3 ; return ( y + y / 4 - y / 100 + y / 400 + "-bed=pen+mad." [ m ] + d ) % 7 ; }

تُشفّر هذه النسخة إزاحات الشهر في السلسلة النصية، وبالتالي تتطلب جهاز كمبيوتر يستخدم معيار ASCII لتشغيل الخوارزمية بشكل صحيح، مما يقلل من قابليتها للنقل . إضافةً إلى ذلك، تتجاهل كلتا الخوارزميتين intتعريفات الأنواع ، وهو أمر مسموح به في لغة K&R C الأصلية ولكنه غير مسموح به في لغة ANSI C.

(مرة أخرى، تشبه خوارزمية توندرينغ في بنيتها خوارزمية زيلر للتطابق وخوارزمية كيث المختصرة، باستثناء أن المكون المتعلق بالشهر هو 31*m/12. أما خوارزمية ساكاموتو فهي تقع في مكان ما بين خوارزمية غاوس المتباينة وخوارزمية شويردتفيغر، ويبدو أنها غير مدركة لشكل التعبير.)

طريقة جاوس في MATLAB

مثال على إدخال التاريخ y1 = 2022 ; m1 = 1 ; d1 = 1 ;إزاحة_الشهر = [ 0 3 3 6 1 4 6 2 5 0 3 5 ]; % السنة المشتركة% إزاحة إذا كانت السنة الكبيسة y1 إذا كان باقي قسمة y1 على 4 يساوي 0 وباقي قسمة y1 على 100 يساوي 0 وباقي قسمة y1 على 400 يساوي 0 ، month_offset = [ 0 3 4 0 2 5 0 3 6 1 4 6 ] ; % نهاية السنة الكبيسة% Gregor weekday_gregor = rem ( d1 + month_offset ( m1 ) + 5 * rem ( y1 - 1 , 4 ) + 4 * rem ( y1 - 1 , 100 ) + 6 * rem ( y1 - 1 , 400 ), 7 )% Julian weekday_julian = rem ( 6 + 5 * rem ( y1 - 1 , 4 ) + 3 * ( y1 - 1 ), 7 )

٠: الأحد ١: الاثنين .. ٦: السبت

طريقة جاوس للتقويم الغريغوري في بايثون

from numpy import remainder as remدالة is_leap_year ( year : int ) -> bool : """تحديد ما إذا كانت السنة سنة كبيسة.""" return year % 4 == 0 and ( year % 100 != 0 or year % 400 == 0 )دالة ` day_of_week` ( y : int , m : int , d : int ) -> str : """إرجاع يوم الأسبوع للتاريخ المُعطى كسلسلة نصية،  باستخدام خوارزمية جاوس لإيجاده.""" إذا كانت السنة كبيسة ( y ): إزاحة_الشهر = ( 0 , 3 , 4 , 0 , 2 , 5 , 0 , 3 , 6 , 1 , 4 , 6 )[ m - 1 ] وإلا : إزاحة_الشهر = ( 0 , 3 , 3 , 6 , 1 , 4 , 6 , 2 , 5 , 0 , 3 , 5 ) [ m - 1 ] y -= 1 wd = int ( rem ( d + إزاحة_الشهر + 5 * rem ( y , 4 ) + 4 * rem ( y , 100 ) + 6 * rem ( y , 400 ) , 7 ))return ( "الأحد" ، "الاثنين" ، "الثلاثاء" ، "الأربعاء" ، "الخميس" ، "الجمعة" ، "السبت" )[ wd ]

انظر أيضاً

مراجع

ملحوظات

  1. لتوضيح ذلك بالتفصيل، من المفيد تخيّل تقويم يُظهر شهرًا يبدأ بيوم أحد (أي أن الأول من الشهر هو يوم أحد). بالعدّ سبعة أيام للأمام نصل إلى الثامن، وهو أيضًا يوم أحد. بالعدّ عشرة أيام أخرى نصل إلى الثامن عشر، وهو يوم أربعاء. أما إذا بدأنا من يوم الأربعاء الرابع (بعد ثلاثة أيام من الأحد الأول)، ثم عدّينا سبعة أيام للأمام حتى الأربعاء الحادي عشر (بعد ثلاثة أيام من الأحد الثامن)، ثم عدّينا سبعة أيام أخرى، فسننتهي يوم الأربعاء الثامن عشر - مرة أخرى - بعد ثلاثة أيام من الأحد الخامس عشر، الذي يقع بدوره بعد أسبوعين (يومَي أحد) من الأحد الأول. 
  2. الأرقام في العمود الأول استباقية - لم يتم وضع التقويم الغريغوري حتى عام 1582. انظر الملاحظة أسفل الجدول.
  3. سيظهر القرن اليولياني الذي يبدأ عام 1 قبل الميلاد أيضًا على هذا السطر من الجدول (إلى يسار 700) ولكن لا توجد مساحة لإدراجه.

الاقتباسات

  1. 1 2 براذرز، هاردين؛ راوسون، توم ؛ كون، ريكس سي .؛ بول، ماتياس ر.؛ داي، تشارلز إي.؛ جورجيف، لوتشيزار آي. (27-02-2002). المساعدة عبر الإنترنت لنظام 4DOS 8.00 .
  2. "HP Prime - Portal: تحديث البرامج الثابتة" (بالألمانية). مورافيا للتعليم. 15 مايو 2015. مؤرشف من الأصل في 5 نوفمبر 2016. تم الاطلاع عليه في 28 أغسطس 2015 .
  3. ^ بول ماتياس ر. (30/07/1997). NWDOS-TIPs نصائح وحيل لتشغيل Novell DOS 7، مع النقر على تفاصيل التفاصيل والأخطاء والحلول البديلة . الإصدار 157 (باللغة الألمانية) ( الطبعة الثالثة). مؤرشفة من الأصلي بتاريخ 2016-11-04 . تم الاسترجاع 2014/08/06 . (ملاحظة: NWDOSTIP.TXTهذا العمل شامل حول نظامي التشغيل نوفيل دوس 7 وأوبن دوس 7.01 ، ويتضمن وصفًا للعديد من الميزات والتفاصيل الداخلية غير الموثقة. وهو جزء من MPDOSTIP.ZIPمجموعة المؤلف الأكبر حجمًا التي تم الاحتفاظ بها حتى عام 2001 وتوزيعها على العديد من المواقع في ذلك الوقت. يشير الرابط المرفق إلى نسخة أقدم من NWDOSTIP.TXTالملف تم تحويلها إلى صيغة HTML.)
  4. ريتشاردز، إي جي (1999). رسم خرائط الزمن: التقويم وتاريخه . مطبعة جامعة أكسفورد . رقم ISBN 978-0-19-850413-9.
  5. 1 2 غاوس، كارل ف. (1981). "Den Wochentag des 1. Januar eines Jahres zu finden. Gueldene Zahl. Epakte. Ostergrenze.". العمل. Herausgegeben von der Koeniglichen Gesellschaft der Wissenschaften zu Goettingen ( الطبعة الثانية). هيلدسهايم: دار نشر جورج أولمس. ص 206 – 207. ISBN   978-3-48704643-3.
  6. 1 2 3 4 5 6 شويردتفيغر، بيرندت إي. (2010-05-07). "صيغة جاوس لتقويم أيام الأسبوع" (ملف PDF) (الطبعة 1.4.26 ) . تم الاطلاع عليه بتاريخ 23-12-2012 . 
  7. كرايتشيك، موريس (2006). "الفصل 5: التقويم". ترفيهات رياضية ( الطبعة الثانية المنقحة [دوفر]). مينولا: منشورات دوفر . ص 109-116 . ISBN   978-0-48645358-3.
  8. روزن، كينيث هـ. (2011). نظرية الأعداد الأولية وتطبيقاتها . أديسون ويسلي. ص 134-137 . ISBN  978-0321500311.
  9. ستوكتون، الابن (19 مارس 2010). "الأعمال التقويمية للعميد كريستيان زيلر: صيغ أيام الأسبوع وعيد الفصح" . ميرلين . مؤرشف من الأصل في 29 يوليو 2013. تم الاطلاع عليه في 19 ديسمبر 2012 .
  10. وانغ، شيانغ شنغ (مارس 2015). "حساب يوم الأسبوع: خوارزمية الأيام الفارغة" (ملف PDF) . مجلة الرياضيات الترفيهية . العدد 3. ص 5.  
  11. 1 2 دودجسون، سي إل ( لويس كارول ). (1887). "إيجاد يوم الأسبوع لأي تاريخ مُعطى". مجلة نيتشر ، 31 مارس 1887. أُعيد طبعه في كتاب "رسم خرائط الزمن "، الصفحات 299-301.
  12. مارتن غاردنر. (1996). الكون في منديل: تسليات لويس كارول الرياضية، والألعاب، والألغاز، وتلاعبات الكلمات ، الصفحات 24-26. سبرينغر-فيرلاغ.
  13. مايكل كيث؛ توم كرافر. (1990). التقويم الدائم الأمثل؟ مجلة الرياضيات الترفيهية، 22:4، ص 280-282.
  14. الآلة الحاسبة ذات الأربع وظائف؛ تجميع أجهزة موتورولا 68000 المهجورة؛ المعداد. gopher://sdf.org/1/users/retroburrowers/TemporalRetrology
  15. "مطلوب خوارزمية لتحديد أيام الأسبوع!" news:1993Apr20.075917.16920@sm.sony.co.jp
  16. مساحة عمل APL2 IDIOMS: خوارزميات التاريخ والوقت، السطر 15. https://www.ibm.com/support/pages/system/files/support/swg/swgdocs.nsf/0/819cd2373bb755d98525716c004c108e/$FILE/APL2IDIOMS.pdf (2002)
  17. "تحويل التاريخ إلى يوم الأسبوع" . مجموعات أخبار جوجل: comp.lang.c. ديسمبر 1992. تم الاطلاع عليه بتاريخ 21 يونيو 2020 .
  18. "خوارزمية داو" . مجموعات أخبار جوجل: comp.lang.c. 1994. تم الاسترجاع في 21-06-2020 .

للمزيد من القراءة

  • هيل-إيفانز، رون (2006). "الخدعة رقم 43: حساب أي يوم من أيام الأسبوع" . خدع الأداء الذهني (  الطبعة الأولى). بكين: أورايلي. الصفحات 164-169 . ISBN  9780596101534.
  • ثيو، مارك؛ ستارك، ديفيد إي؛ كلايمان، شيريل؛ شولتز، روبرت تي. (2006). "يوم الأسبوع الذي وُلدت فيه خلال 700 مللي ثانية: حسابات التقويم لدى عبقري مصاب بالتوحد". مجلة علم النفس التجريبي: الإدراك والأداء البشري . 32 (5): 1155-1168 . doi : 10.1037/0096-1523.32.5.1155 . PMID 17002528 . 
  • تريفيرت، دارولد أ. (12 أكتوبر 2011). "لماذا حساب التقويم؟". جزر العبقرية  : العقل الخصب للمصابين بالتوحد، والمكتسبين، والعباقرة المفاجئين (الطبعة الأولى، [طبعة مُعاد طباعتها]  ). لندن: جيسيكا كينغسلي. ص 63-66 . ISBN  9781849058735.