التابع tzinfo.tzname()‎ في بايثون

من موسوعة حسوب
< Python‏ | datetime‏ | tzinfo


يعيد التابع اسم المنطقة الزمنية الخاصّة بالكائن datetime على هيئة سلسلة نصية.

البنية العامة

tzinfo.tzname(dt)

القيمة المعادة

يعيد التابع اسم المنطقة الزمنية الخاصّة بالكائن datetime على هيئة سلسلة نصية.

لا يجري تعريف أيّ شيء بخصوص أسماء السلاسل النصية بواسطة الوحدة datetime، وليس من المطلوب أن يحمل الاسم دلالة معيّنة. فعلى سبيل المثال تعدّ السلاسل النصية التالية كلّها صحيحة: "GMT" و "UTC" و "‎-500" و "‎-5:00" و "EDT" و "US/Eastern" و "America/New York". يعيد التابع القيمة None إن كان اسم السلسلة النصية غير معروف.

يجب الانتباه إلى أنّ هذا تابع وليس سلسلة نصية ثابتة، والسبب الرئيسي هو أنّ بعض الأصناف الفرعية من tzinfo ستعيد أسماء مختلفة بالاعتماد على قيمة dt الممرّرة إليها، وخصوصًا إن كان أخذ الصنف tzinfo التوقيت الصيفي بالحسبان.

يؤدي استخدام التابع tzname()‎ بالطريقة الافتراضية إلى إطلاق الخطأ NotImplementedError.

تستدعى هذه التوابع بواسطة كائن datetime أو time وذلك استجابة للتوابع التي تحمل الأسماء ذاتها في هذه الكائنات. يمرّر كائن datetime نفسه كمعامل، في حين يمرّر الكائن time القيمة None كمعامل؛ ولهذا يجب تحضير توابع الصنف الفرعي للصنف tzinfo لاستقبال معامل dt قيمته None أو صنف datetime.

عند تمرير القيمة None فإنّ الأمر القرار يكون بيد منشئ الصنف لاختيار الاستجابة المناسبة. فمثلًا إعادة القيمة None تكون مناسبة إن كان المطلوب هو عدم مشاركة كائنات الوقت time في بروتوكولات الكائن tzinfo. ومن المفيد بالنسبة للتابع utcoffset(None)‎ أن يعيد مقدار الإزاحة المعياري عن التوقيت العالمي المنسق، وذلك نظرًا لعدم وجود أي طريقة أخرى لتحديد مقدار الإزاحة المعياري.

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

انظر أيضًا

  • التابع tzinfo.dst()‎: يعيد التابع مقدار التعديل لنظام التوقيت الصيفي (DST).

مصادر