وحدة calendar
في بايثون
تتيح هذه الوحدة الحصول على تقاويم مشابهة لمخرجات البرنامج cal في أنظمة يونكس، إلى جانب أنّها تقدّم عددًا من التوابع المفيدة والخاصة بالتقاويم. يبدأ الأسبوع في هذه التقاويم بصورة افتراضية بيوم الإثنين، وينتهي بيوم الأحد (هذا هو السائد في أوروبا).
يمكن استخدام الدالة setfirstweekday()
لجعل الأسبوع يبدأ بيوم الأحد (6) أو أي يوم آخر. تكون المعاملات التي تحدّد التواريخ أعدادًا صحيحة. تقدّم بايثون وحدتين إضافيتين للتعامل مع الوقت والتاريخ هما datetime
و time
.
تستخدم الدوال والأصناف المعرّفة في هذه الوحدة تقويمًا مثاليًا، وهو التقويم الكريكوري الحالي والممتدّ في كلا الاتجاهين (الماضي والمستقبل) وإلى ما لا نهاية. يتطابق هذا التقويم مع "التقويم التنبؤي" والذي يقدّمه Dershowitz و Reingold في كتابهما "Calendrical Calculations" والذي يمثّل التقويم الأساسي والمعتمد في جميع أنظمة الحواسيب. يفسّر الصفر والسنوات ذات الأرقام السالبة كما هو موصوف في معيار ISO 8601، لتكون السنة 0
هي السنة 1
قبل الميلاد، و -1
هي السنة 2
قبل الميلاد، وهكذا دواليك.
دوال الوحدة calendar
تقدّم وحدة calendar
عددًا من الدوال الخاصّة بالتقاويم النصية البسيطة.
الدالة setfirstweekday()
تعيّن الدالة اليوم الذي يبدأ به الأسبوع.
الدالة firstweekday()
تعيد الدالة الإعدادات الحالية الخاصة باليوم الذي يبدأ به الأسبوع.
الدالة isleap()
تخبر الدالة ما إذا كانت السنة المعطاة كبيسة أم لا.
الدالة leapdays()
تعيد الدالة عدد السنوات الكبيسة ضمن نطاق السنوات المحدد.
الدالة weekday()
تعيد الدالة يوم الأسبوع في الشهر المعطى في السنة المعطاة.
الدالة weekheader()
تعيد الدالة ترويسة تتضمن أسماء أيام الأسبوع بصيغة مختصرة.
الدالة monthrange()
تعيد الدالة أول يوم في الشهر وعدد أيام الشهر المعطى في السنة المعطاة.
الدالة monthcalendar()
تعيد الدالة مصفوفة matrix تمثّل تقويم الشهر.
الدالة prmonth()
تطبع الدالة تقويم الشهر الذي تعيده الدالة month()
.
الدالة month()
تعيد الدالة تقويم الشهر على هيئة سلسلة نصية متعددة الأسطر.
الدالة prcal()
تطبع الدالة تقويم السنة برمّتها والذي تعيده الدالة calendar()
.
الدالة calendar()
تعيد الدالة تقويمًا ذا ثلاثة أعمدة يتضمّن سنة كاملة وعلى هيئة سلسلة نصية متعددة الأسطر.
الدالة timegm()
تعيد الدالة قيمة الختم الزمني المقابل في نظام يونكس.
خصائص الوحدة calendar
تقدّم وحدة calendar
الخصائص التالية:
الخاصية calendar.day_name
مصفوفة تعرض أيام الأسبوع في الإعدادات المحلية الحالية.
الخاصية calendar.day_abbr
مصفوفة تعرض الأسماء المختصرة لأيام الأسبوع في الإعدادات المحلية الحالية.
الخاصية calendar.month_name
مصفوفة تعرض أشهر السنة في الإعدادات المحلية الحالية. تتبع هذا الخاصية ما هو متعارف عليه في أن يكون شهر كانون الثاني (يناير) هو الشهر رقم 1، لذا يكون طول المصفوفة 13، وتكون month_name[0] سلسلة فارغة.
الخاصية calendar.month_abbr
مصفوفة تعرض الأسماء المختصرة لأشهر السنة في الإعدادات المحلية الحالية. تتبع هذا الخاصية ما هو متعارف عليه في أن يكون شهر كانون الثاني (يناير) هو الشهر رقم 1
، لذا يكون طول المصفوفة 13
، وتكون month_name[0]
سلسلة فارغة.
أصناف الوحدة calendar
تقدم وحدة calendar
الأصناف الخمسة التالية للتعامل مع التقاويم بطرق مختلفة:
الصنف Calendar
يقدّم كائن Calendar عددًا من التوابع التي يمكن استخدامها لتحضير بيانات التقويم لغرض التنسيق.
الصنف TextCalendar
يستخدم هذا الصنف لإنشاء تقويم بهيئة نصية صرفة plain text.
الصنف HTMLCalendar
يمكن استخدام هذا الصنف لإنشاء تقاويم بصيغة HTML.
الصنف LocaleTextCalendar
هذا الصنف متفرّع من الصنف TextCalendar، ويستخدم لعرض التقويم بحسب الإعدادات المحلية وبهيئة نصية صرفة.
الصنف LocaleHTMLCalendar
هذا الصنف متفرّع من الصنف HTMLCalendar
، ويستخدم لعرض التقويم بحسب الإعدادات المحلية وبهيئة HTML.