الفرق بين المراجعتين ل"Python/datetime/datetime"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الصنف <code>datetime.datetime()‎</code> في بايثون}}</noinclude> كائن datetime هو كائن مفرد يتضمّن جميع...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:الصنف <code>datetime.datetime()‎</code> في بايثون}}</noinclude>
 
<noinclude>{{DISPLAYTITLE:الصنف <code>datetime.datetime()‎</code> في بايثون}}</noinclude>
  
كائن datetime هو كائن مفرد يتضمّن جميع المعلومات المرتبطة بكائني التاريخ date والوقت time. وكما هو الحال مع هذين الكائنين، فإنّ كائن datetime يفترض وجود التقويم الكريكوري والممتد في كلا الاتجاهين، ويفترض كذلك وجود ‎3600*24 ثانية بالضبط في كل يوم.
+
كائن <code>datetime</code> هو كائن مفرد يتضمّن جميع المعلومات المرتبطة بكائني التاريخ <code>date</code> والوقت <code>time</code>. وكما هو الحال مع هذين الكائنين، فإنّ كائن <code>datetime</code> يفترض وجود التقويم الكريكوري والممتد في كلا الاتجاهين، ويفترض كذلك وجود ‎<code>3600*24</code> ثانية بالضبط في كل يوم.
  
=== الدالة البانية: ===
+
== البنية العامة ==
  
 
<syntaxhighlight lang="python3">
 
<syntaxhighlight lang="python3">
سطر 9: سطر 9:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
المعاملات الثلاثة الأولى (year, month, day) (السنة والشهر واليوم) تكون مطلوبة عند إنشاء صنف datetime. يمكن للمعامل tzinfo أن يأخذ القيمة None أو نسخة من صنف tzinfo فرعي. أما بقية المعاملات فيمكن أن تكون أعدادًا صحيحة ضمن النطاقات التالية:
+
== المعاملات ==
 +
المعاملات الثلاثة الأولى (<code>year, month, day</code>) (السنة والشهر واليوم) تكون مطلوبة عند إنشاء صنف <code>datetime</code>. يمكن للمعامل <code>tzinfo</code> أن يأخذ القيمة <code>None</code> أو نسخة من صنف <code>tzinfo</code> فرعي. أما بقية المعاملات فيمكن أن تكون أعدادًا صحيحة ضمن النطاقات التالية:
 +
* <code>‎MINYEAR <= year <= MAXYEAR‎</code>
 +
* <code>‎1 <= month <= 12‎</code>
 +
* عدد الأيام في السنة والشهر المحدّدين ‎‎1 <= day <=‎
 +
* <code>‎0 <= hour < 24‎</code>
 +
* <code>‎0 <= minute < 60‎</code>
 +
* <code>‎0 <= second < 60‎</code>
 +
* <code>‎0 <= microsecond < 1000000‎</code>
 +
* <code>‎fold in [0, 1]‎</code>
 +
تطلق اللغة الخطأ <code>ValueError</code>، إن تجاوزت قيمة المعامل المعطاة إحدى هذه النطاقات.
  
‎MINYEAR <= year <= MAXYEAR‎
+
'''ملاحظة''': أضيف المعامل <code>fold</code> في الإصدار 3.6 من بايثون.
‎1 <= month <= 12‎
 
‎1 <= day <= عدد الأيام في السنة والشهر المحدّدين
 
‎0 <= hour < 24‎
 
‎0 <= minute < 60‎
 
‎0 <= second < 60‎
 
‎0 <= microsecond < 1000000‎
 
‎fold in [0, 1]‎
 
 
 
تطلق اللغة الخطأ ValueError، إن تجاوزت قيمة المعامل المعطاة إحدى هذه النطاقات.
 
 
 
'''ملاحظة''': أضيف المعامل fold في الإصدار 3.6 من بايثون.
 
 
 
 
 
== أمثلة ==
 
 
 
يبين المثال التالي آلية عمل التابع:
 
 
 
<syntaxhighlight lang="python3">
 
 
</syntaxhighlight>
 
  
 
== خصائص الصنف <code>datetime</code>: ==
 
== خصائص الصنف <code>datetime</code>: ==
سطر 108: سطر 98:
  
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== عمليات الكائن datetime ==
 +
 +
== توابع الصنف <code>datetime</code> ==
 +
 +
=== التابع <code>datetime.today()‎</code> ===
 +
 +
=== التابع <code>datetime.now()‎</code> ===
 +
 +
=== التابع <code>datetime.utcnow()‎</code> ===
 +
 +
=== التابع <code>datetime.fromtimestamp()‎</code> ===
 +
 +
=== التابع <code>datetime.utcfromtimestamp()‎</code> ===
 +
 +
=== التابع <code>datetime.fromordinal()‎</code> ===
 +
 +
=== التابع <code>datetime.combine()‎</code> ===
 +
 +
=== التابع <code>datetime.fromisoformat()‎</code> ===
 +
 +
=== التابع <code>datetime.strptime()‎</code> ===
 +
 +
== توابع نسخ الصنف <code>datetime</code> ==
 +
 +
=== التابع <code>datetime.date()‎</code> ===
 +
 +
=== التابع <code>datetime.time()‎</code> ===
 +
 +
=== التابع <code>datetime.timetz()‎</code> ===
 +
 +
=== التابع <code>datetime.replace()‎</code> ===
 +
 +
=== التابع <code>datetime.astimezone()‎</code> ===
 +
 +
=== التابع <code>datetime.utcoffset()‎</code> ===
 +
 +
=== التابع <code>datetime.dst()‎</code> ===
 +
 +
=== التابع <code>datetime.tzname()‎</code> ===
 +
 +
=== التابع <code>datetime.timetuple()‎</code> ===
 +
 +
=== التابع <code>datetime.utctimetuple()‎</code> ===
 +
 +
=== التابع <code>datetime.toordinal()‎</code> ===
 +
 +
=== التابع <code>datetime.timepstamp()‎</code> ===
 +
 +
=== التابع <code>datetime.weekday()‎</code> ===
 +
 +
=== التابع <code>datetime.isoweekday()‎</code> ===
 +
 +
=== التابع <code>datetime.isocalendar()‎</code> ===
 +
 +
=== التابع <code>datetime.isoformat()‎</code> ===
 +
 +
=== التابع <code>datetime.__str__()‎</code> ===
 +
 +
=== التابع <code>datetime.ctime()‎</code> ===
 +
 +
=== التابع <code>datetime.format()‎</code> ===
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==

مراجعة 09:54، 5 يوليو 2018


كائن datetime هو كائن مفرد يتضمّن جميع المعلومات المرتبطة بكائني التاريخ date والوقت time. وكما هو الحال مع هذين الكائنين، فإنّ كائن datetime يفترض وجود التقويم الكريكوري والممتد في كلا الاتجاهين، ويفترض كذلك وجود ‎3600*24 ثانية بالضبط في كل يوم.

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

class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

المعاملات

المعاملات الثلاثة الأولى (year, month, day) (السنة والشهر واليوم) تكون مطلوبة عند إنشاء صنف datetime. يمكن للمعامل tzinfo أن يأخذ القيمة None أو نسخة من صنف tzinfo فرعي. أما بقية المعاملات فيمكن أن تكون أعدادًا صحيحة ضمن النطاقات التالية:

  • ‎MINYEAR <= year <= MAXYEAR‎
  • ‎1 <= month <= 12‎
  • عدد الأيام في السنة والشهر المحدّدين ‎‎1 <= day <=‎
  • ‎0 <= hour < 24‎
  • ‎0 <= minute < 60‎
  • ‎0 <= second < 60‎
  • ‎0 <= microsecond < 1000000‎
  • ‎fold in [0, 1]‎

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

ملاحظة: أضيف المعامل fold في الإصدار 3.6 من بايثون.

خصائص الصنف datetime:

date.min

أقدم تاريخ ووقت يمكن تمثيلهما. datetime(MINYEAR, 1, 1, tzinfo=None)‎.

date.max

أقصى تاريخ ووقت يمكن تمثيلهما datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999, tzinfo=None)‎.

date.resolution

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

خصائص نسخة الصنف datetime:

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

date.year

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

date.month

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

date.day

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

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

time.hour

الساعة ضمن المدى 0 إلى 23.

time.minute

الدقيقة ضمن المدى 0 إلى 59.

time.second

الثانية ضمن المدى 0 إلى 59.

جزء من الثانية، ضمن المدى 0 إلى 999999.

time.tzinfo

الكائن المُمرّر كقيمة للمعامل tzinfo في الدالة البانية للكائن time، أو القيمة None إن كانت قيمة المعامل tzinfo الممرّرة هي None.

time.fold

ضمن المدى ‎[0, 1]‎. ويستخدم للتمييز بين أوقات الانقضاء الحقيقية wall times خلال فترة زمنية مكرّرة. (تحدث الفترة الزمنية المكرّرة عند تأخير الساعات في التوقيت الصيفي، أو عند إنقاص مقدار إزاحة منطقة معيّنة عن التوقيت العالمي المنسّق UTC لأسباب سياسية).

تمثل القيمة 0 التوقيت المتقدّم بين التوقيتين، والقيمة 1 التوقيت المتأخر بين التوقيتين ضمن نفس تمثيل وقت الانقضاء الحقيقي.

ملاحظة: هذه الخاصية جديدة في الإصدار 3.6.

يوضّح المثال التالي خصائص نسخة الصنف time:

>>> from datetime import datetime
>>> dt = datetime(2018, 7, 4, 12, 39, 33)
>>> dt
datetime.datetime(2018, 7, 4, 12, 39, 33)
>>> print(dt)
2018-07-04 12:39:33
>>> dt.year
2018
>>> dt.month
7
>>> dt.day
4
>>> dt.hour
12
>>> dt.minute
39
>>> dt.second
33

عمليات الكائن datetime

توابع الصنف datetime

التابع datetime.today()‎

التابع datetime.now()‎

التابع datetime.utcnow()‎

التابع datetime.fromtimestamp()‎

التابع datetime.utcfromtimestamp()‎

التابع datetime.fromordinal()‎

التابع datetime.combine()‎

التابع datetime.fromisoformat()‎

التابع datetime.strptime()‎

توابع نسخ الصنف datetime

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

التابع datetime.time()‎

التابع datetime.timetz()‎

التابع datetime.replace()‎

التابع datetime.astimezone()‎

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

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

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

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

التابع datetime.utctimetuple()‎

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

التابع datetime.timepstamp()‎

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

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

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

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

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

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

التابع datetime.format()‎

انظر أيضًا

مصادر

قسم datetime Objects في صفحة Basic date and time types في توثيق بايثون الرسمي.