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

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


'''ملاحظة:''' هذه الخصائص للقراءة فقط.
'''ملاحظة:''' هذه الخصائص للقراءة فقط.
 
==توابع نسخة الصنف date==
== توابع نسخة الصنف date ==
تقدّم النسخ التي تنشأ من الصنف <code>date</code> التوابع التالية:
تقدّم النسخ التي تنشأ من الصنف <code>date</code> التوابع التالية:
 
===[[Python/datetime/date/replace|التابع <code>date.replace()</code>‎]]===
=== [[Python/datetime/date/replace|التابع <code>date.replace()</code>‎]] ===
يستبدل التابع القيم المعطاة في المعاملات بالقيم الأصلية في كائن التاريخ.
يستبدل التابع القيم المعطاة في المعاملات بالقيم الأصلية في كائن التاريخ.
 
===[[Python/datetime/date/timetuple|التابع <code>date.timetuple()</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 أو عبر اسم الخاصية.
يعيد التابع الصنف <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/toordinal|التابع <code>date.toordinal()‎</code>]] ===
يعيد التابع العدد الترتيبي للتاريخ الذي يمثّله كائن التاريخ حسب التقويم التنبّؤي الكريكوري.
يعيد التابع العدد الترتيبي للتاريخ الذي يمثّله كائن التاريخ حسب التقويم التنبّؤي الكريكوري.
 
===[[Python/datetime/date/weekday|التابع <code>date.weekday()‎</code>]]===
=== [[Python/datetime/date/weekday|التابع <code>date.weekday()‎</code>]] ===
يعيد التابع اليوم في الأسبوع على هيئة <nowiki/>[[Python/int|عدد صحيح]].
يعيد التابع اليوم في الأسبوع على هيئة <nowiki/>[[Python/int|عدد صحيح]].
 
===[[Python/datetime/date/isoweekday|التابع <code>date.isoweekday()‎</code>]]===
=== [[Python/datetime/date/isoweekday|التابع <code>date.isoweekday()‎</code>]] ===
يعيد التابع اليوم في الأسبوع على هيئة <nowiki/>[[Python/int|عدد صحيح]]، بالاعتماد على تقويم ISO.
يعيد التابع اليوم في الأسبوع على هيئة <nowiki/>[[Python/int|عدد صحيح]]، بالاعتماد على تقويم ISO.
 
===[[Python/datetime/date/isocalendar|التابع <code>date.isocalendar()‎</code>]]===
=== [[Python/datetime/date/isocalendar|التابع <code>date.isocalendar()‎</code>]] ===
يعيد التابع <nowiki/>[[Python/tuples|صفًّا]] يضمّ ثلاثة عناصر هي <code>(ISO year, ISO week number, ISO weekday)</code>.
يعيد التابع <nowiki/>[[Python/tuples|صفًّا]] يضمّ ثلاثة عناصر هي <code>(ISO year, ISO week number, ISO weekday)</code>.
 
===[[Python/datetime/date/isoformat|التابع <code>date.isoformat()‎</code>]]===
=== [[Python/datetime/date/isoformat|التابع <code>date.isoformat()‎</code>]] ===
يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO 8601 هي <code>'YYYY-MM-DD'</code>.
يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO 8601 هي <code>'YYYY-MM-DD'</code>.
 
===[[Python/datetime/date/ str|التابع <code>date.__str__()‎</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>.
يتيح هذا التابع إعادة تمثيل للكائن <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>]]===
=== [[Python/datetime/date/ctime|التابع <code>date.ctime()‎</code>]] ===
يعيد التابع <nowiki/>[[Python/str|سلسلة نصية]] تمثل التاريخ، وتتضمّن الاسم المختصر لكل من اليوم والشهر يتبعهما اليوم ثم الساعة والدقيقة والثانية ثم السنة.
يعيد التابع <nowiki/>[[Python/str|سلسلة نصية]] تمثل التاريخ، وتتضمّن الاسم المختصر لكل من اليوم والشهر يتبعهما اليوم ثم الساعة والدقيقة والثانية ثم السنة.
 
===[[Python/datetime/date/strftime|التابع <code>date.strftime()‎</code>]]===
=== [[Python/datetime/date/strftime|التابع <code>date.strftime()‎</code>]] ===
ينسّق التابع التاريخ باستخدام سلسلة التنسيق النصية المعطاة.
ينسّق التابع التاريخ باستخدام سلسلة التنسيق النصية المعطاة.
 
===[[Python/datetime/date/ format|التابع <code>date.__format__()‎</code>]]===
=== [[Python/datetime/date/ format|التابع <code>date.__format__()‎</code>]] ===
يسمح هذا التابع بتعيين سلسلسة تنسيق نصية لكائن التاريخ باستخدام محارف سلاسل التنسيق النصية وعند استخدام التابع <code>[[Python/str/format|str.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 في توثيق بايثون الرسمي.]
*[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()‎.

مصادر