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

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


يمثل كائن التاريخ date تاريخًا (سنة وشهر ويوم) في التقويم المثالي، وهو التقويم الميلادي الممتدّ إلى ما لا نهاية في كلا الاتجاهين، ويمثّل اليوم ذو التاريخ 1 كانون الثاني (يناير) سنة 1 ميلادي اليوم ذا العدد 1 في هذا الكائن، واليوم ذو التاريخ 2 كانون الثاني (يناير) سنة 1 ميلادي اليوم ذا العدد 2 في هذا الكائن، وهكذا دواليك. يطابق هذا الترقيم تعريف "التقويم الكريكوري التنبؤي proleptic Gregorian" والذي وضعه كلّ من Dershowitz و Reingold في كتابهما Calendrical Calculations والذي يضع التقويم الأساسي المعتمد في جميع الحواسيب. ويمكن مراجعة هذا الكتاب للاطلاع على الخوارزميات التي يمكن استخدامها للتحويل التاريخ من التقويم الكريكوري التنبؤي إلى أنظمة التقويم الأخرى.

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

datetime.date(year, month, day)

المعاملات

جميع المعاملات مطلوبة عند التصريح عن هذا الصنف.

year

عدد صحيح يمثّل السنة المطلوبة، ويجب أن يكون ضمن المدى MINYEAR <= year <= MAXYEAR.

month

عدد صحيح يمثّل الشهر المطلوب، ويجب أن يكون ضمن المدى ‎1 <= month <= 12‎.

day

عدد صحيح يمثّل اليوم المطلوب، ويجب أن يكون ضمن المدى ‎‎1 <= day <=‎ عدد الأيام في الشهر أو السنة المعطاة‏‏

إن تجاوزت قيمة أحد هذه المعاملات المدى المحدد لها، تطلق اللغة الخطأ ValueError.

أمثلة

يبين المثال التالي الطريقة الصحيحة للتصريح عن الصنف date:

from datetime import date
>>> now = date.today()
>>> now.day
24
>>> now.year
2018
>>> now.month
3

توابع الصنف date

التابع date.today()

يعيد هذا التابع اليوم الحالي في الإعدادات المحلية.

التابع date.fromtimestamp()

يعيد هذا التابع التاريخ المحلي المرتبط بالختم الزمني ذي الصيغة POSIX كالذي يعيده التابع time.time()‎.

التابع date.fromordinal()

يعيد هذا التابع التاريخ بحسب العدد الترتيبي المعطى والتابع للتقويم الكريكوري التنبؤي.

خصائص الصنف date

يقدّم الصنف date الخصائص التالية:

date.min

أقدم تاريخ يمكن تمثيله. date(MINYEAR, 1, 1)‎.

date.max

أقصى تاريخ يمكن تمثيله date(MAXYEAR, 12, 31)‎.

date.resolution

أدنى فارق ممكن بين كائني date غير متساويين timedelta(days=1)‎.

خصائص نسخة الصنف date

تمتلك النسخ التي تنشأ من الصنف date الخصائص التالية:

date.year

السنة، وتمتد من MINYEAR إلى MAXYEAR ضمنيًّا.

date.month

الشهر، ويمتد من 1 إلى 12 ضمنيًّا.

date.day

اليوم، ويمتد من 1 إلى عدد الأيام ضمن الشهر المعطى في السنة المعطاة.

ملاحظة: هذه الخصائص للقراءة فقط.

توابع نسخة الصنف date

تقدّم النسخ التي تنشأ من الصنف date التوابع التالية:

التابع date.replace()

يستبدل التابع القيم المعطاة في المعاملات بالقيم الأصلية في كائن التاريخ.

التابع date.timetuple()‎

التابع date.toordinal()‎

التابع date.weekday()‎

التابع date.isoweekday()‎

التابع date.isocalendar()‎

التابع date.isoformat()‎

التابع date.__str__()‎

التابع date.ctime()‎

التابع date.strftime()‎

التابع date.__format__()‎

التابع date.isocalendar()‎

مصادر