الصنف datetime.tzinfo()‎ في بايثون

من موسوعة حسوب


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

تقدّم وحدة datetime الصنف timezone وهو صنف فرعي محدّد concrete بسيط من الصنف tzinfo، يمكن عن طريقه تمثيل المناطق الزمنية باستخدام مقدار إزاحة ثابت عن التوقيت العالمي المنسّق، مثل التوقيت العالمي المنسّق نفسه، أو توقيتي EST و EDT في أمريكا الشمالية.

يمكن تمرير نسخة الصنف tzinfo (صنف فرعي محدّد منه) إلى الدوال البانية لكائنات datetime و time. تكون خصائص هذه الكائنات حسب التوقيت المحلّي، ويقدّم كائن tzinfo التوابع التي تحدّد مقدار إزاحة التوقيت المحلي عن التوقيت العالمي المنسّق، واسم المنطقة الزمنية، ومقدار إزاحة التوقيت الصيفي DST في كائن التاريخ أو الوقت الممرّر إليها.

تتطلب عملية pickling وجود التابع ‎__init__()‎ في الصنف الفرعي للصنف tzinfo، ويجب أن يكون التابع قابلًا للاستدعاء دون وجود معاملات، وإلا فقد تجرى عملية pickling هذا المطلب تقني بحت وقد يكون بالإمكان التساهل فيه مستقبلًا.

قد يحتاج الصنف الفرعي المحدّد من tzinfo إلى استخدام التوابع التالية، ويعتمد استخدام التوابع على طريقة استخدام كائنات datetime الواعية، وفي حال عدم إمكانية تحديد التابع المطلوب، يمكن استخدام التوابع جميعها.

توابع الصنف tzinfo

التابع tzinfo.utcoffset()‎

يعيد التابع كائن timedelta يمثّل مقدار إزاحة التوقيت المحلي عن التوقيت العالمي المنسّق UTC.

التابع tzinfo.dst()‎

يعيد التابع مقدار التعديل لنظام التوقيت الصيفي (DST).

التابع tzinfo.tzname()‎

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

التابع tzinfo.fromutc()‎

يستدعى هذا التابع عند استخدام التابع datetime.astimezone()‎ بالطريقة الافتراضية.

انظر أيضًا

الصنف datetime.date في بايثون.

الصنف datetime.time في بايثون.

الصنف datetime.datetime في بايثون.

الصنف datetime.timezone في بايثون.

مصادر