بداية الأسبوع لا تغير ترقيم 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)
الخرج العددي (3,31) ثم [0,0,0,0,1,2,3]. [1] [2]
اقرأ صف الأسبوع
للمقارنة، مع الاثنين أولًا: [0,0,0,1,2,3,4]. يتحرك موضع اليوم 1، ويبقى الخميس رقمه 3. [1] [2]

احسب الموضع
الموضع من صفر: (weekday−firstweekday)%7. في مثالنا (3−6)%7=4؛ لا تستعمل 3 موضعًا في صف يبدأ بالأحد. [1] [2]
حد المثال
غريغوري؛ دون طابع زمني. نحفظ الإعداد السابق ونعيده. [1] [2]
المراجع
- Python: calendar
- CPython 3.12.14: calendar.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
