تقنية

تقويم بايثون: رقم اليوم لا يتبع أول عمود

ترتيب ناتج monthrange
أكتوبر 2026 يبدأ الخميس. [1] [2]

بداية الأسبوع لا تغير ترقيم monthrange(). [1] [2]

الخلاصة السريعة

الاثنين صفر والأحد 6، مهما اخترت أول عمود. [1] [2]

  • monthrange() يعيد يوم بداية الشهر وعدد أيامه، بالترتيب. [1] [2]
  • أكتوبر 2026 يعطي (3,31)؛ الخميس رقمه 3. [1] [2]
  • مع الأحد أولًا، اليوم 1 في العمود الخامس؛ العد من صفر يعطي 4. [1] [2]
  • أصفار monthcalendar() خانات خارج الشهر، وليست تواريخ. [1] [2]
  • نعيد الإعداد السابق؛ المثال غريغوري دون ساعات أو مناطق زمنية. [1] [2]

نفّذ وافصل المعنيين

import calendar
old = calendar.firstweekday()
calendar.setfirstweekday(calendar.SUNDAY)
print(tuple(map(int,calendar.monthrange(2026,10))))
print(calendar.monthcalendar(2026,10)[0])
calendar.setfirstweekday(old)

[1] [2]

الخرج العددي (3,31) ثم [0,0,0,0,1,2,3]. [1] [2]

اقرأ صف الأسبوع

للمقارنة، مع الاثنين أولًا: [0,0,0,1,2,3,4]. يتحرك موضع اليوم 1، ويبقى الخميس رقمه 3. [1] [2]

صفان مختلفان واليوم الأول خميس
الصفر خانة خارج الشهر. [1] [2]

احسب الموضع

الموضع من صفر: (weekday−firstweekday)%7. في مثالنا (3−6)%7=4؛ لا تستعمل 3 موضعًا في صف يبدأ بالأحد. [1] [2]

حد المثال

غريغوري؛ دون طابع زمني. نحفظ الإعداد السابق ونعيده. [1] [2]

المراجع

  1. Python: calendar
  2. CPython 3.12.14: calendar.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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