Python/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 <=‎ MAXDAYS‏‏‎ حيث MAXDAYS هو عدد الأيام في الشهر أو السنة المعطاة.

إن تجاوزت قيمة أحد هذه المعاملات المدى المحدد لها، تطلق اللغة الخطأ 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()

يعيد التابع الصنف time.struct_time. وهو عبارة عن كائن يتضمّن صفًّا مسمّىً named tuple. ويمكن الوصول إلى القيم عبر الفهرس index أو عبر اسم الخاصية.

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

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

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

يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح.

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

يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، بالاعتماد على تقويم ISO.

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

يعيد التابع صفًّا يضمّ ثلاثة عناصر هي (ISO year, ISO week number, ISO weekday).

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

يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO 8601 هي 'YYYY-MM-DD'.

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

يتيح هذا التابع إعادة تمثيل للكائن date على هيئة سلسلة نصية قابلة للطباعة، باستخدام الدالة str()‎.

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

يعيد التابع سلسلة نصية تمثل التاريخ، وتتضمّن الاسم المختصر لكل من اليوم والشهر يتبعهما اليوم ثم الساعة والدقيقة والثانية ثم السنة.

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

ينسّق التابع التاريخ باستخدام سلسلة التنسيق النصية المعطاة.

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

يسمح هذا التابع بتعيين سلسلسة تنسيق نصية لكائن التاريخ باستخدام محارف سلاسل التنسيق النصية وعند استخدام التابع str.format()‎.

مصادر