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

من موسوعة حسوب
لا ملخص تعديل
سطر 6: سطر 6:


<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
‎datetime.isoformat()
isoformat(sep='T', timespec='auto')
</syntaxhighlight>
</syntaxhighlight>


== المعاملات ==
=== <code>sep</code> ===
معامل اختياري يأخذ القيمة الافتراضية <code>'T'</code> ويمثّل فاصلًا يتكوّن من حرف واحد يوضع بين جزئي الوقت والتاريخ في النتيجة المعادة.
===<code>timespec</code>===
يحدّد المعامل الاختياري <code>timespec</code> عدد المكوّنات الإضافية التي سيتضمّنها كائن الوقت (القيمة الافتراضية هي <code>'auto'</code>)، ويمكن للمكونات أن تكون واحدة ممّا يلي:
*<code>'auto'</code>: مشابه للمكون <code>'second'</code> إن كانت أجزاء الثانية مساوية للصفر، وإلا فإنّه مشابه للمكوّن <code>'microseconds'</code>.
*<code>'hours'</code>: تضمين الساعة بهيئة رقمين <code>HH</code>.
*<code>'minutes'</code>: تضمين الساعة والدقيقة بالصيغة <code>HH:MM</code>.
*<code>'seconds'</code>: تضمين الساعة والدقيقة والثانية بالصيغة <code>HH:MM:SS</code>.
*<code>'milliseconds'</code>: تضمين الوقت كاملًا، مع اقتطاع قيم الثانية الكسرية إلى أجزاء من الثانية، بالصيغة <code>HH:MM:SS.sss</code>.
*<code>'microseconds'</code>: عرض الوقت كاملًا بالصيغة <code>HH:MM:SS.mmmmmm</code>.
'''ملاحظة''': تُقتطع مكوّنات الوقت المستثناة ولا تقرّب.
'''ملاحظة''': أضيف المعامل <code>timespec</code> في الإصدار 3.6 من اللغة.
تطلق اللغة الخطأ <code>ValueError</code> في حال استخدام معامل <code>timesepc</code> غير صالح.
== القيمة المعادة ==
== القيمة المعادة ==


يعيد التابع [[Python/str|سلسلة نصية]] تمثّل التاريخ بصيغة ISO 8601 وهي <code>'YYYY-MM-DD'</code>.
يعيد التابع [[Python/str|سلسلة نصية]] تمثّل التاريخ بصيغة ISO 8601 هي <code>YYYY-MM-DDTHH:MM:SS.mmmmmm</code> في حال تضمّن كائن <code>datetime</code> أجزاء الثانية، والصيغة <code>YYYY-MM-DDTHH:MM:SS</code> إن كانت قيمة أجزاء الثانية مساوية للصفر.


== أمثلة ==
== أمثلة ==
سطر 21: سطر 39:
>>> dt = datetime(2018, 6, 27, 20, 58)
>>> dt = datetime(2018, 6, 27, 20, 58)
>>> dt.isoformat()
>>> dt.isoformat()
'2018-06-27'
'2018-06-27T20:58:00'
>>> dt = datetime(2290, 12, 8, 11, 23, 9, 4939)
>>> dt.isoformat()
'2290-12-08T11:23:09.004939'
>>> dt.isoformat(sep="#")
'2290-12-08#11:23:09.004939'
>>> dt.isoformat(timespec="minutes")
'2290-12-08T11:23'
>>> dt.isoformat(timespec="milliseconds")
'2290-12-08T11:23:09.004'
>>> dt.isoformat(timespec="hours")
'2290-12-08T11'
</syntaxhighlight>
</syntaxhighlight>



مراجعة 19:34، 8 يوليو 2018


يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO 8601.

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

isoformat(sep='T', timespec='auto')

المعاملات

sep

معامل اختياري يأخذ القيمة الافتراضية 'T' ويمثّل فاصلًا يتكوّن من حرف واحد يوضع بين جزئي الوقت والتاريخ في النتيجة المعادة.

timespec

يحدّد المعامل الاختياري timespec عدد المكوّنات الإضافية التي سيتضمّنها كائن الوقت (القيمة الافتراضية هي 'auto')، ويمكن للمكونات أن تكون واحدة ممّا يلي:

  • 'auto': مشابه للمكون 'second' إن كانت أجزاء الثانية مساوية للصفر، وإلا فإنّه مشابه للمكوّن 'microseconds'.
  • 'hours': تضمين الساعة بهيئة رقمين HH.
  • 'minutes': تضمين الساعة والدقيقة بالصيغة HH:MM.
  • 'seconds': تضمين الساعة والدقيقة والثانية بالصيغة HH:MM:SS.
  • 'milliseconds': تضمين الوقت كاملًا، مع اقتطاع قيم الثانية الكسرية إلى أجزاء من الثانية، بالصيغة HH:MM:SS.sss.
  • 'microseconds': عرض الوقت كاملًا بالصيغة HH:MM:SS.mmmmmm.

ملاحظة: تُقتطع مكوّنات الوقت المستثناة ولا تقرّب.

ملاحظة: أضيف المعامل timespec في الإصدار 3.6 من اللغة.

تطلق اللغة الخطأ ValueError في حال استخدام معامل timesepc غير صالح.

القيمة المعادة

يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO 8601 هي YYYY-MM-DDTHH:MM:SS.mmmmmm في حال تضمّن كائن datetime أجزاء الثانية، والصيغة YYYY-MM-DDTHH:MM:SS إن كانت قيمة أجزاء الثانية مساوية للصفر.

أمثلة

يبين المثال التالي آلية عمل التابع:

>>> from datetime import datetime
>>> dt = datetime(2018, 6, 27, 20, 58)
>>> dt.isoformat()
'2018-06-27T20:58:00'
>>> dt = datetime(2290, 12, 8, 11, 23, 9, 4939)
>>> dt.isoformat()
'2290-12-08T11:23:09.004939'
>>> dt.isoformat(sep="#")
'2290-12-08#11:23:09.004939'
>>> dt.isoformat(timespec="minutes")
'2290-12-08T11:23'
>>> dt.isoformat(timespec="milliseconds")
'2290-12-08T11:23:09.004'
>>> dt.isoformat(timespec="hours")
'2290-12-08T11'

انظر أيضًا

  • التابع datetime.isocalendar()‎: يعيد التابع صفًّا يضمّ ثلاثة عناصر هي (ISO year, ISO week number, ISO weekday).
  • التابع datetime.isoweekday()‎: يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، حيث يأخذ يوم الاثنين الرقم 0 ويوم الأحد الرقم 6.

مصادر

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