الفرق بين المراجعتين لصفحة: «Python/datetime/date»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الصنف <code>datetime.date</code> في بايثون}}</noinclude> يمثل كائن التاريخ <code>date</code> تاريخًا (سن...'
 
 
(3 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الصنف <code>datetime.date</code> في بايثون}}</noinclude>
يمثل كائن التاريخ <code>date</code> تاريخًا (سنة وشهر ويوم) في التقويم المثالي، وهو التقويم الميلادي الممتدّ إلى ما لا نهاية في كلا الاتجاهين، ويمثّل اليوم ذو التاريخ 1 كانون الثاني (يناير) سنة 1 ميلادي اليوم ذا العدد 1 في هذا الكائن، واليوم ذو التاريخ 2 كانون الثاني (يناير) سنة 1 ميلادي اليوم ذا العدد 2 في هذا الكائن، وهكذا دواليك. يطابق هذا الترقيم تعريف "التقويم الكريكوري التنبؤي proleptic Gregorian" والذي وضعه كلّ من Dershowitz و Reingold في كتابهما Calendrical Calculations والذي يضع التقويم الأساسي المعتمد في جميع الحواسيب. ويمكن مراجعة هذا الكتاب للاطلاع على الخوارزميات التي يمكن استخدامها للتحويل التاريخ من التقويم الكريكوري التنبؤي إلى أنظمة التقويم الأخرى.
يمثل كائن التاريخ <code>date</code> تاريخًا (سنة وشهر ويوم) في التقويم المثالي، وهو التقويم الميلادي الممتدّ إلى ما لا نهاية في كلا الاتجاهين، ويمثّل اليوم ذو التاريخ 1 كانون الثاني (يناير) سنة 1 ميلادي اليوم ذا العدد 1 في هذا الكائن، واليوم ذو التاريخ 2 كانون الثاني (يناير) سنة 1 ميلادي اليوم ذا العدد 2 في هذا الكائن، وهكذا دواليك. يطابق هذا الترقيم تعريف "التقويم الكريكوري التنبؤي proleptic Gregorian" والذي وضعه كلّ من Dershowitz و Reingold في كتابهما Calendrical Calculations والذي يضع التقويم الأساسي المعتمد في جميع الحواسيب. ويمكن مراجعة هذا الكتاب للاطلاع على الخوارزميات التي يمكن استخدامها للتحويل التاريخ من التقويم الكريكوري التنبؤي إلى أنظمة التقويم الأخرى.
 
==البنية العامة==
== البنية العامة ==
 
<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
‎datetime.date(year, month, day)
‎datetime.date(year, month, day)
</syntaxhighlight>
</syntaxhighlight>
 
==المعاملات==
== المعاملات ==
 
جميع المعاملات مطلوبة عند التصريح عن هذا الصنف.
جميع المعاملات مطلوبة عند التصريح عن هذا الصنف.
===<code>year</code>===
===<code>year</code>===
عدد صحيح يمثّل السنة المطلوبة، ويجب أن يكون ضمن المدى <code>MINYEAR <= year <= MAXYEAR</code>.
عدد صحيح يمثّل السنة المطلوبة، ويجب أن يكون ضمن المدى <code>MINYEAR <= year <= MAXYEAR</code>.
===<code>month</code>===
===<code>month</code>===
عدد صحيح يمثّل الشهر المطلوب، ويجب أن يكون ضمن المدى <code>‎1 <= month <= 12‎</code>.
عدد صحيح يمثّل الشهر المطلوب، ويجب أن يكون ضمن المدى <code>‎1 <= month <= 12‎</code>.
===<code>day</code>===
===<code>day</code>===
عدد صحيح يمثّل اليوم المطلوب، ويجب أن يكون ضمن المدى ‎<code>‎1 <= day <=‎ MAXDAYS‏‏</code>‎ حيث <code>MAXDAYS</code> هو عدد الأيام في الشهر أو السنة المعطاة.


عدد صحيح يمثّل اليوم المطلوب، ويجب أن يكون ضمن المدى ‎<code>‎1 <= day <=‎ عدد الأيام في الشهر أو السنة المعطاة‏‏</code>‎
إن تجاوزت قيمة أحد هذه المعاملات المدى المحدد لها، تطلق اللغة الخطأ [[Python/built-in exceptions#ValueError|<code>ValueError</code>]].
 
==أمثلة==
إن تجاوزت قيمة أحد هذه المعاملات المدى المحدد لها، تطلق اللغة الخطأ ValueError.
يبين المثال التالي الطريقة الصحيحة للتصريح عن الصنف <code>date</code>:<syntaxhighlight lang="python3">
 
== أمثلة ==
 
يبين المثال التالي الطريقة الصحيحة للتصريح عن الصنف <code>date</code>:
 
<syntaxhighlight lang="python3">
from datetime import date
from datetime import date
>>> now = date.today()
>>> now = date.today()
سطر 41: سطر 25:
3
3
</syntaxhighlight>
</syntaxhighlight>
==توابع الصنف date==
===التابع <code>[[Python/datetime/date/today|date.today()]]‎</code>===
يعيد هذا التابع اليوم الحالي في الإعدادات المحلية.
===التابع <code>[[Python/datetime/date/fromtimestamp|date.fromtimestamp()]]</code>‎===
يعيد هذا التابع التاريخ المحلي المرتبط بالختم الزمني ذي الصيغة <code>POSIX</code> كالذي يعيده التابع <code>time.time()‎</code>.
===التابع <code>[[Python/datetime/date/fromordinal|date.fromordinal()]]</code>‎===
يعيد هذا التابع التاريخ بحسب العدد الترتيبي المعطى والتابع للتقويم الكريكوري التنبؤي.
==خصائص الصنف date==
يقدّم الصنف <code>date</code> الخصائص التالية:
===<code>date.min</code>===
أقدم تاريخ يمكن تمثيله. <code>date(MINYEAR, 1, 1)‎</code>.
===<code>date.max</code>===
أقصى تاريخ يمكن تمثيله <code>date(MAXYEAR, 12, 31)‎</code>.
===<code>date.resolution</code>===
أدنى فارق ممكن بين كائني <code>date</code> غير متساويين <code>timedelta(days=1)‎</code>.
==خصائص نسخة الصنف date==
تمتلك النسخ التي تنشأ من الصنف <code>date</code> الخصائص التالية:
===<code>date.year</code>===
السنة، وتمتد من <code>MINYEAR</code> إلى <code>MAXYEAR</code> ضمنيًّا.
===<code>date.month</code>===
الشهر، ويمتد من 1 إلى 12 ضمنيًّا.
===<code>date.day</code>===
اليوم، ويمتد من 1 إلى عدد الأيام ضمن الشهر المعطى في السنة المعطاة.


== مصادر ==
'''ملاحظة:''' هذه الخصائص للقراءة فقط.
* [https://docs.python.org/3/library/datetime.html#datetime.date قسم date Objects في صفحة Basic date and time types في توثيق بايثون الرسمي.]
==توابع نسخة الصنف date==
 
تقدّم النسخ التي تنشأ من الصنف <code>date</code> التوابع التالية:
===[[Python/datetime/date/replace|التابع <code>date.replace()</code>‎]]===
يستبدل التابع القيم المعطاة في المعاملات بالقيم الأصلية في كائن التاريخ.
===[[Python/datetime/date/timetuple|التابع <code>date.timetuple()</code>‎]]===
يعيد التابع الصنف <code>time.struct_time</code>. وهو عبارة عن كائن يتضمّن <nowiki/>[[Python/tuples#.D8.A7.D9.84.D8.B5.D9.81.D9.88.D9.81 .D8.A7.D9.84.D9.85.D8.B3.D9.85.D9.91.D8.A7.D8.A9 .28named tuples.29|صفًّا مسمّىً named tuple]]. ويمكن الوصول إلى القيم عبر الفهرس index أو عبر اسم الخاصية.
===[[Python/datetime/date/toordinal|التابع <code>date.toordinal()‎</code>]]===
يعيد التابع العدد الترتيبي للتاريخ الذي يمثّله كائن التاريخ حسب التقويم التنبّؤي الكريكوري.
===[[Python/datetime/date/weekday|التابع <code>date.weekday()‎</code>]]===
يعيد التابع اليوم في الأسبوع على هيئة <nowiki/>[[Python/int|عدد صحيح]].
===[[Python/datetime/date/isoweekday|التابع <code>date.isoweekday()‎</code>]]===
يعيد التابع اليوم في الأسبوع على هيئة <nowiki/>[[Python/int|عدد صحيح]]، بالاعتماد على تقويم ISO.
===[[Python/datetime/date/isocalendar|التابع <code>date.isocalendar()‎</code>]]===
يعيد التابع <nowiki/>[[Python/tuples|صفًّا]] يضمّ ثلاثة عناصر هي <code>(ISO year, ISO week number, ISO weekday)</code>.
===[[Python/datetime/date/isoformat|التابع <code>date.isoformat()‎</code>]]===
يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO 8601 هي <code>'YYYY-MM-DD'</code>.
===[[Python/datetime/date/ str|التابع <code>date.__str__()‎</code>]]===
يتيح هذا التابع إعادة تمثيل للكائن <code>date</code> على هيئة سلسلة نصية قابلة للطباعة، باستخدام الدالة <code>[[Python/str#.D8.A7.D9.84.D8.AA.D8.AD.D9.88.D9.8A.D9.84 .D8.A5.D9.84.D9.89 .D8.B3.D9.84.D8.B3.D9.84.D8.A9 .D9.86.D8.B5.D9.8A.D8.A9|str()‎]]</code>.
===[[Python/datetime/date/ctime|التابع <code>date.ctime()‎</code>]]===
يعيد التابع <nowiki/>[[Python/str|سلسلة نصية]] تمثل التاريخ، وتتضمّن الاسم المختصر لكل من اليوم والشهر يتبعهما اليوم ثم الساعة والدقيقة والثانية ثم السنة.
===[[Python/datetime/date/strftime|التابع <code>date.strftime()‎</code>]]===
ينسّق التابع التاريخ باستخدام سلسلة التنسيق النصية المعطاة.
===[[Python/datetime/date/ format|التابع <code>date.__format__()‎</code>]]===
يسمح هذا التابع بتعيين سلسلسة تنسيق نصية لكائن التاريخ باستخدام محارف سلاسل التنسيق النصية وعند استخدام التابع <code>[[Python/str/format|str.format()]]</code>‎.
==مصادر==
<span> </span>
*[https://docs.python.org/3/library/datetime.html#datetime.date قسم date Objects في صفحة Basic date and time types في توثيق بايثون الرسمي.]
[[تصنيف:Python]]
[[تصنيف:Python]]
[[تصنيف:Python Modules]]
[[تصنيف:Python Modules]]

المراجعة الحالية بتاريخ 10:43، 12 أغسطس 2018

يمثل كائن التاريخ 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()‎.

مصادر