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

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

 المفاهيم 
في الحساب العددي تمثل أيام الأسبوع بأرقام أيام الأسبوع. إذا كان يوم الاثنين هو اليوم الأول من الأسبوع فمن الممكن ترميز الأيام من 1 إلى 7، وذلك من الاثنين إلى الأحد كما هو متبع في آيزو 8601. كما يمكن أيضًا حساب اليوم المحدد بالرقم 7 على أنه 0، وذلك بتطبيق المعامل الحسابي 7 الذي يحسب الباقي من الرقم بعد القسمة على 7. ويكون التعامل مع الرقم 7 على أنه 0، والرقم 8 على أنه 1، والرقم 9 على أنه 2، والرقم 18 على أنه 4 وهكذا. فإذا احتُسب يوم الأحد باعتباره اليوم الأول فبعد 7 أيام ( أياليوم الثامن هو أيضًا يوم أحد واليوم الثامن عشر هو نفس اليوم الرابع وهو يوم أربعاء لأنه يقع بعد يوم الأحد بثلاثة أيام ( أي إنه ). 
معيارالاثنينيوم الثلاثاءالأربعاءيوم الخميسجمعةالسبتالأحدأمثلة الاستخدامايزو 86011234567 (4DOS);  (HP Prime)01234562345671 (NetWare، DR-DOS (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.));  (4DOS)1234560الآلات الحاسبة المالية من HP
النهج الأساسي لجميع الطرق تقريبًا لحساب يوم الأسبوع يبدأ بالبدء من "تاريخ ثابت": زوج معروف (مثل 1 يناير 1800 باعتباره يوم أربعاء)، وتحديد عدد الأيام بين اليوم المعروف واليوم الذي تحاول تحديده واستخدام عامل القسمة مع باقي لحساب 7 للعثور على يوم عددي جديد في الأسبوع.

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

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

 الأيام المقابلة 
كل يوم سابع في الشهر له نفس اسم اليوم السابق:
يوم من
الشهر00 07 14 21 28001 08 15 22 29102 09 16 23 30203 10 17 24 31304 11 18 25405 12 19 26506 13 20 276

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

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

في جدول الأشهر أدناه، الأشهر المقابلة لها نفس الرقم، وهي حقيقة تنبع مباشرة من التعريف.
سنوات مشتركةالسنوات الكبيسةكل السنواتينايرأكتوبر0يمكن1فبرايرأغسطس2فبرايرمارس نوفمبر3يونيو4سبتمبر ديسمبر5ينايرابريل يوليو6

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

عام 2021 هو عام عادي يبدأ يوم الجمعة مما يعني أنه يتوافق مع العام التقويمي 2010. ويتوافق الشهرين الأولين من عام 2021 مع الشهرين الأولين من عام 2016. كذلك عام 2022 هو عام عادي يبدأ يوم السبت، مما يعني أنه يتوافق مع العام التقويمي 2011. والأشهر العشرة الأخيرة من عام 2022 تتوافق مع الأشهر العشرة الأخيرة من عام 2016. وعام 2023 هو عام عادي يبدأ يوم الأحد، مما يعني أنه يتوافق مع العام التقويمي 2017. 2024 هي سنة كبيسة تبدأ يوم الاثنين، مما يعني أنها تتوافق مع السنة التقويمية 1996. والشهرين الأولين من عام 2024 يتوافقان مع الشهرين الأولين من عام 2018. الأشهر العشرة الأخيرة من عام 2024 تتوافق مع الأشهر العشرة الأخيرة من عام 2019.

كل سنة كبيسة تتكرر مرة كل 28 سنة، وكل سنة عادية تتكرر مرة كل 6 سنوات ومرتين كل 11 سنة. على سبيل المثال كان آخر ظهور للسنة الكبيسة التي بدأت يوم الأربعاء هو عام 2020، وسيكون الظهور القادم في عام 2048. وبالمثل فإن السنوات المشتركة القادمة التي تبدأ يوم الجمعة ستكون 2027 و2038 ثم 2049. كلا العبارتين صحيحتان ما لم تتخطى سنة كبيسة، ولكن هذا لن يحدث حتى عام 2100.

للتفاصيل انظر الجدول أدناه.
عامل قسمة مع باقي للسنة من
القرن 2800 06 12 17 23001 07 12 18 24102 08 13 19 24203 08 14 20 25304 09 15 20 26404 10 16 21 27505 11 16 22 006
ملحوظات:

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

 القرون المقابلة 
القرن اليولياني
عامل قسمة 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 عام. كما تشير القيم "  " إلى "  " إلى الباقي عند قسمة قيمة المئات على 7 و4 على التوالي، مما يشير إلى كيفية امتداد السلسلة في أي اتجاه. وتُعرض القيم الجوليانية والغريغورية من عام 1500 إلى عام 1999 للراحة. وتشير الأرقام المكتوبة بخط غامق (على سبيل المثال 04 ) إلى السنة الكبيسة. فإذا انتهت السنة بالرقم 00 وكانت المئات فيها مكتوبة بالخط العريض فهي سنة كبيسة. وهكذا يشير الرقم 19 إلى أن عام 1900 ليس سنة كبيسة غريغورية (ولكن الرقم 19 في العمود اليولياني يشير إلى أنها سنة كبيسة جوليانية، كما هي الحال مع جميع السنوات اليوليانية x 00). حيث يشير الرقم 20 إلى أن عام 2000 هي سنة كبيسة. استخدم Jan و Feb فقط في السنوات الكبيسة.
رقم المئات من السنينتكملة أرقام السنة المتبقيةالشهرDoW#اليوليوسي
(r ÷ 7)الميلادي
(r ÷ 4)r5 1916 20 r000 06   17 2328 34   45 5156 62   73 7984 90JanOctSa0r4 1815 19 r301 07 12 1829 35 40 4657 63 68 7485 91 96MaySu1r3 17___02   13 19 2430   41 47 5258   69 75 8086   97FebAugM2r2 1618 22 r203 08 14   2531 36 42   5359 64 70   8187 92 98FebMarNovTu3r1 15___  09 15 20 26  37 43 48 54  65 71 76 82  93 99JunW4r0 1417 21 r104 10   21 2732 38   49 5560 66   77 8388 94SepDecTh5r6 13___05 11 16 2233 39 44 5061 67 72 7889 95JanAprJulF6
لتحديد يوم الأسبوع (السبت 1 يناير 2000)

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

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

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

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

مثال: ما هو يوم الأسبوع 27 يناير 8315؟

8315−6300=2015، 2015−100=1915، 1915/100=19 الباقي 15، 19×7=133، 133/9=14 الباقي 7. إن عام 2015 متقدم عن عام 1315 بـ 700 سنة، لذا تستخدم 1315. من الجدول : للمئات (13): 6. للأرقام المتبقية (15): 4. للشهر (يناير): 0. للتاريخ (27): 27.  . 73/7=10 الباقي 3. يوم الأسبوع = الثلاثاء.

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

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

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

في التقويم الغريغوري: كل السنوات التي تقسم بالضبط على 100 (بخلاف تلك التي تقسم بالضبط على 400).

في التقويم اليولياني المنقح: كل السنوات التي تقسم بالضبط على 100 (بخلاف تلك التي تعطي الباقي 200 أو 600 عند القسمة على 900).

 "يوم القيامة" 
هذه قطعة أثرية من الرياضيات الترفيهية. انظر قاعدة يوم القيامة للحصول على توضيح.

 التحقق من النتيجة 
استخدم هذا الجدول للعثور على يوم الأسبوع دون أي حسابات.
فِهرِسالإثنين
Aالثلاثاء
Bالأربعاء
Cالخميس
Dالجمعة
Eالسبت
Fالأحد
Gالتقويم الغريغوري واليوليوسي الدائم
استخدم يناير وفبراير للسنوات الكبيسة
حرف التاريخ في صف السنة للحرف في صف القرن
كل أيام سي هي أيام محتملة ليوم القيامةالقرن اليوليوسيالقرن الميلاديالتاريخ01
08
15
22
2902
09
16
23
3003
10
17
24
3104
11
18
2505
12
19
2606
13
20
2707
14
21
2812 1916 20AprJulJanGABCDEF01071218293540465763687485919613 20SepDecFGABCDE021319243041475258697580869714 2117 21JunEFGABCD03081425313642535964708187929815 22FebMarNovDEFGABC091520263743485465717682939916 2318 22AugFebCDEFGAB041021273238495560667783889417 24MayBCDEFGA051116223339445061677278899518 2519 23JanOctABCDEFG0617232834455156627379849000[السنة/100]القرن الميلادي20
1621
1722
1823
19عامل القسمة مع باقي للسنة 100القرن اليوليوسي19
1220
1321
1422
1523
1624
1725
18
أمثلة:

 للطريقة الشائعة

26 ديسمبر 1893 (جي.دي.)

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

13 أكتوبر 1307 (جيه.دي)

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

1 يناير 2000 (جي.دي)

يتوافق 1 يناير مع 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، فإن يوم الأسبوع هو يومين بعد الأحد أي يوم الثلاثاء.

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

 ريت داي 
تعمل طريقة ريت داي عن طريق جمع عدد الأيام  التي مرت منذ تاريخ يوم معروف من أيام الأسبوع  ثم يحدد يوم الأسبوع بواسطة  ، بما يتوافق مع أي اتفاقية يمكن استخدامها لترميز .

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

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

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

 المدخلات
 رقم السنة ، رقم الشهر ، رقم التاريخ .

 الناتج
 يوم من السنة.
 إجراء
 أولاً قم بتحديد يوم الأسبوع  من 1 يناير.
 بالنسبة للتقويم الغريغوري، يوم الأسبوع هو
 بدلاً من ذلك، اضبط  ،  ، والقيمة هي

 بالنسبة للتقويم اليولياني، يوم الأسبوع هو
 أو
 .
 قم الآن بتحديد الإزاحة المرتبطة بالشهر  باستخدام جدول البحث مع .
 العودة .

+جدول تعويضات الأشهرشهورينايرفبرايرمارسأبريليمكنيونيويوليوأغسطسسبتمبرأكتوبرنوفمبرديسمبرسنوات مشتركة033614625035السنوات الكبيسة4025036146

 يمكن تلخيص الإجراء المذكور أعلاه في تعبير واحد للحالة الغريغورية:

 مثال عملي 
بالنسبة للسنة رقم 2000،  ،  و ، فإن يوم الأسبوع 1 يناير هو









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





و





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

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

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

 اختلافات متباينة 
الصيغة التالية هي مثال لإصدار بدون جدول بحث. من المفترض أن يبدأ العام في شهر مارس مما يعني أنه يجب التعامل مع التواريخ في شهري يناير وفبراير على أنها جزء من العام السابق. وصيغة التقويم الغريغوري هي



أين

  هو يوم الشهر (1 to 31)
  هو الشهر المتغير (مارس = 1,...,فبراير = 12)
  هي السنة إلا إذا كان  هو 11 = يناير or 12 = فبراير والتي تعتبر جزءا من العام السابق، مُعطى 
  هو القرن الذي تقدمه 
  هي السنة بالنسبة للقرن، مُعطى بواسطة , أو ببساطة آخر رقمين من
  هو يوم من أيام الأسبوع (0 = أحد,...,6 = سبت)

+جدول تعويضات الأشهر (  )شهورمارسأبريليمكنيونيويوليوأغسطسسبتمبرأكتوبرنوفمبرديسمبرينايرفبرايرالإزاحة257101215182023252831

 خوارزمية زيلر 
ترقم الأشهر من 3 لشهر مارس إلى 14 لشهر فبراير في خوارزمية زيلر. ومن المفترض أن تبدأ السنة في شهر مارس؛ وهذا يعني على سبيل المثال أن شهر يناير 1995 يجب أن يُعامل باعتباره الشهر الثالث عشر من عام 1994. صيغة التقويم الغريغوري هي

 أين

  هو يوم الشهر (1 إلى 31)
  هو الشهر المحول (مارس = 3، ...يناير = 13، فبراير = 14)
  هل السنة ما لم  13 = يناير أو 14 = فبراير والتي تعتبر جزءًا من العام السابق 
  هو القرن الذي أعطاه 
  هي السنة بالنسبة للقرن، والتي يكون إعطاؤها بواسطة  ، أو ببساطة آخر رقمين من 
  هو يوم الأسبوع (1 = الأحد،..0 = السبت)

+جدول تعويضات الأشهر (  )شهورمارسأبريليمكنيونيويوليوأغسطسسبتمبرأكتوبرنوفمبرديسمبرينايرفبرايرالإزاحة101315182023262831333639
الفرق الوحيد هو بين خوارزمية زيلر (  ) وخوارزمية غاوس المتباينة (  )، أي  .


  (مارس = 3 في  ولكن مارس = 1 في  )



 خوارزمية وانج 
خوارزمية وانج لحساب التقويم الغريغوري بواسطة الإنسان هي (يجب طرح الصيغة بمقدار 1 إذا كان m يساوي 1 أو 2 إذا كانت السنة سنة كبيسة) أين

  هو الرقم الأخير من السنة (الواحدات)
  هو الرقم الثاني والأخير من السنة (العشرات)
  هو القرن المعطى بـ 
  هو يوم الشهر (1 إلى 31)
  هو الشهر (يناير=1,...,ديسمبر=12)
  هو يوم من أيام الأسبوع (0=الأحد,...,6=السبت)
  هي دالة الأيام الخالية (إزاحة الشهر) بالقيم المدرجة في الجدول التالي

11A day35 + 2577993 + 11112212 + 342 − 264861081210
يمكن استخلاص خوارزمية للتقويم اليولياني من الخوارزمية أعلاه   يوم القيامة.
13C day37 + 45971195 − 411720 − 244668810101212

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

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

لذلك فإن  تقع بين 0 و99. بالنسبة إلى 

صيغة يوم الأسبوع هي

حيث لنا اختيار معامل التناسب الإيجابي.

ولنا الحصول على قيمة  من الجدول التالي:
123456789101112032503514624
ثم الحصول على قيمة  من الجدول التالي والذي يعتمد على التقويم. وبالنسبة للتقويم الغريغوري
01230531
بالنسبة للتقويم اليولياني
01234565432106

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

الخوارزمية:Dodgson, C.L. (لويس كارول). (1887). "To find the day of the week for any given date". Nature, 31 March 1887. Reprinted in Mapping Time, pp. 299-301.

خذ التاريخ المحدد في الـ4 أجزاء أي عدد القرون وعدد السنوات الماضية والشهر ويوم الشهر.

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

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

عنصر السنة: أضف معًا عدد العشرات والباقي وعدد الـ 4 في الفائض.

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

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

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

أمثلة:

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". الجواب "الخميس".

1676 فبراير 23

16 من 18 يعطي "2" 76 هو 6 دزينات و 4 مما يعطي 10، زائد 1 يعطي 11 أي "4". المجموع "6" العنصر لشهر فبراير هو "3". المجموع 9 أي "2" 23 يعطي "2". مجموع "4" تصحيح للسنة الكبيسة يعطي "3". الجواب "الأربعاء".

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

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

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

16 من 18 يعطي "2" 77 هو 6 دزينات و 5 مما يعطي 11، زائد 1 يعطي 12 أي "5". المجموع "7" العنصر لشهر فبراير هو "3". المجموع 10 أي "3" 23 يعطي "2". المجموع "5". الجواب "الجمعة".

ومن الجدير بالذكر أن أولئك الذين أعادوا نشر طريقة كارول فشلوا في الإشارة إلى خطئه، وأبرزهم مارتن جاردنر.Martin Gardner. (1996). The Universe in a Handkerchief: Lewis Carroll's Mathematical Recreations, Games, Puzzles, and Word Plays, pages 24-26. Springer-Verlag.

في عام 1752 تخلت الإمبراطورية البريطانية عن استخدام التقويم الجولياني القديم واعتمدت التقويم الغريغوري، والذي أصبح التقويم القياسي اليوم في معظم بلدان العالم. لمزيد من المعلومات راجع تواريخ الطراز القديم والطراز الجديد.

 الأساليب في برمجة الكمبيوتر 

 كيث 
في تعبيرات لغة السي أدناه -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في عام 1990 نشر مايكل كيث وتوم كرافر التعبير السابق الذي يسعى إلى تقليل عدد ضغطات المفاتيح اللازمة لإدخال وظيفة مستقلة لتحويل التاريخ الميلادي إلى يوم رقمي من أيام الأسبوع.Michael Keith; Tom Craver. (1990). The ultimate perpetual calendar? Journal of Recreational Mathematics, 22:4, pp.280-282. ويعود 0 = الأحد و1 = الاثنين وهكذا. ويستخدم هذا التعبير مكون شهر أقل تعقيدًا من خوارزمية زيلر.

وبعد فترة وجيزة قام هانز لاكمان بتبسيط خوارزميتهم لتسهيل الاستخدام على الأجهزة ذات المواصفات المنخفضة. وبما أن طريقته مصممة في الأصل للآلات الحاسبة ذات الوظائف الأربع، فإنها تحتاج إلى عدد أقل من إدخالات لوحة المفاتيح من طريق الحد من نطاقها إما إلى الفترة من 1905 إلى 2099 ميلادية، أو إلى التواريخ الجوليانية التاريخية. وقد عُدل لاحقًا لتحويل أي تاريخ ميلادي -حتى على العداد-. وفي الأجهزة التي تعتمد على موتورولا 68000 هناك حاجة أقل أيضًا إلى سجلات المعالج أو التعليمات البرمجية التشغيلية هذا اعتمادًا على هدف التصميم المقصود.The 4-function Calculator; The Assembly of Motorola 68000 Orphans; The Abacus. gopher://sdf.org/1/users/retroburrowers/TemporalRetrology

 أساليب ساكاموتو 
يكون تجسيد السلف الجدولي لخوارزمية توندرينغ في دالة كي آند أر. سي التالية."Day-of-week algorithm NEEDED!" news:1993Apr20.075917.16920@sm.sony.co.jp مع بعض التغييرات البسيطة التي قام بتكييفها للغات البرمجة عالية المستوى الأخرى مثل إيه بيه أل2 .APL2 IDIOMS workspace: Date and Time Algorithms, line 15. ftp://ftp.software.ibm.com/ps/products/apl2/info/APL2IDIOMS.pdf (2002) ونشرها توموهيكو ساكاموتو على مجموعة أخبار يوسنت كامب.لانج.سي في عام 1992 وهو دقيق لأي تاريخ ميلادي.dayofweek(y, m, d)	/* 1 <= m <= 12, y > 1752 (in the U.K.) */
{
  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; }يقوم هذا الإصدار بتشفير إزاحات الشهر في السلسلة ونتيجة لذلك يتطلب جهاز كمبيوتر يستخدم أسكي القياسي لتشغيل الخوارزمية بوجه صحيح، مما يقلل من قابليتها للنقل. بالإضافة إلى ذلك،تتجاهل كلتا الخوارزميتين إعلانات نوع  وهو أمر مسموح به في كي آند آر لغة سي الأصلية ولكن غير مسموح به في أنسي سي.

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

 طريقة جاوس في ماتلاب 
% example date input
y1 = 2022;
m1 = 1;
d1 = 1;

month_offset = [0 3 3 6 1 4 6 2 5 0 3 5]؛ % common year

% offset if y1 leap year
if mod(y1,4)==0 && mod(y1,100)==0 && mod(y1,400)==0
   month_offset=[0 3 4 0 2 5 0 3 6 1 4 6]؛ % leap year
end

% 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)0: الأحد 1: الإثنين .. 6: السبت

 طريقة جاوس للتقويم الغريغوري في بايثون 
from numpy import remainder as rem

def is_leap_year(year: int) -> bool:
    """ Determine whether a year is a leap year. """
    return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)

def day_of_week(y: int, m: int, d: int) ->str:
    ''' return day of week of given date as string,
    using Gauss's algorithm to find it '''
    if is_leap_year(y):
        month_offset = (0, 3, 4, 0, 2, 5, 0, 3, 6, 1, 4, 6)[m - 1]
    else:
        month_offset = (0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5)[m - 1]        
    y -= 1
    wd = int(rem(d + month_offset + 5 * rem(y, 4) + 4 * rem(y, 100) \
             + 6 * rem(y, 400) , 7))

    return ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')[wd]

 انظر أيضا 

 حكم يوم القيامة
 يوم جوليان
 كأس العالم للحساب الذهني (يوجد مسابقة حساب التقويم)
 التقويم الدائم
 التقويم البوذي

 المراجع 

 ملحوظات 

 الاستشهادات 

 روابط خارجية 

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

تصنيف:أيام الأسبوع
تصنيف:تقويم يوليوسي
تصنيف:تقويم غريغوري
تصنيف:وحدات زمن