التاريخ و الوقت
التاريخ و الوقت ( date and time ) في بايثون, توجد الكثير من المكاتب module التي تساعدنا على عرض التاريخ و الوقت, و كما واضح من إسم الدرس أننا نتعامل مع التاريخ و الوقت, هو مهم في حال كنا نعمل على كود أو تطبيق ونريد عرض التاريخ و الوقت عليه.
>>>import time >>>time.time() 1716101827.5577943
نلاحظ أنه طبع لنا التاريخ و الوقت بشكل seconds, و لعرضه بالطريقة العادية نكتب كالتالي :
>>>import time >>>time.ctime() 'Sun May 19 09:57:34 2024'
كما لاحظنا أنه طَبَعَ لنا التاريخ و الوقت بشكل نظامي حسب الوقت في الحاسب لدي اما اذا كتبنا كالتالي :
time.time(time.ctime())
سوف يعطينا الخطأ
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: time() takes no arguments (1 given)
معنى ذلك أنه يحتاج مننا 1 أرجيومنت و لا يمكن أن نُدخِل time.time و ندخل به أرجيومنت مثل ctime لأنه غلط لأن ctime هو يأخذ الـ seconds والمفرض يكتب بالشكل التالي كي يعرض لنا التاريخ والوقت
>>>time.ctime(time.time()) 'Sun May 19 09:57:34 2024' >>>time.ctime(1583307387.367132) 'Wed Mar 4 10:57:26 2020'
التابع strftime في بايثون
هذا التابع يقوم بإنشاء سلسلة نصية تتضمن التاريخ الجاري و التعامل معه و يتم إستخدام معه عدة موجهات. سوف نشرح عدة أمثلة التي تتعامل مع strftime.
1- عرض اليوم بإختصار.
>>> time.strftime("%a") 'Wed'
2- عرض اليوم كلمة كاملة.
>>> time.strftime("%A") 'Wednsday'
3- عرض الشهر مختصر.
>>>time.strftime("%b") 'Mar'
4- عرض الشهر كلمة كاملة.
>>>time.strftime("%B") 'March'
5- عرض اليوم و الساعة و التاريخ كامل.
>>>time.strftime("%c") 'Wed Mar 4 10:57:26 2021'
6- عرض اليوم كـ رقم.
>>>time.strftime("%d") '04'
7- عرض الساعة الحالية بدون دقائق توقيت 24.
>>>time.strftime("%H") '18'
8- عرض الساعة الحالية بدون دقائق توقيت 12.
>>>time.strftime("%H") '10'
9- عرض رقم اليوم الحالي من السنة من 001 إلى 365.
>>>time.strftime("%j") '064'
10- عرض الشهر كـ رقم.
>>>time.strftime("%m") '03'
11- عرض الدقائق الحالية.
>>>time.strftime("%M") '27'
12- عرض الوقت صباحي أو مسائي.
>>>time.strftime("%p") 'AM'
13- عرض الثواني الحالية.
>>>time.strftime("%S") '46'
14- عرض رقم الأسبوع من السنة.
>>>time.strftime("%U") '09'
15- عرض رقم اليوم من الأسبوع.
>>>time.strftime("%w") '03'
16- عرض التاريخ الحالي.
>>>time.strftime("%x") '03/04/20'
17- عرض الوقت الحاليstrftime.
>>>time.strftime("%X") '10:57:26'
18- عرض السنة بشكل مختصر.
>>>time.strftime("%y") '20'strftime
19- عرض السنة بشكل طبيعي.
>>>time.strftime("%Y") '2020'
20- عرض فارق الوقت حسب التوقيت العالمي.
>>>time.strftime("%pZ") '+03'
21- عرض التاريخ و الوقت كاملاً.
>>> time.strftime("%d:%m:%Y:%H:%M:%S") '04:03:2020:10:58:42'
التابع strptime في بايثون
هذا التابع يقوم بإنشاء كائن object من سلسلة نصية تُمثّل الوقت و التاريخ بواسطة علامات تنسيق خاصة.
مثال 1
>>>import time >>> time.strptime("04 03 2020","%d %m %Y") #النتيجة result time.struct_time(tm_year=2020, tm_mon=3, tm_mday=4, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=64, tm_isdst=-1)
معنى السؤال أعطيناه يوم و شهر و سنة و بعده اعطيناه رموز دلالاتهن ليميزهن لنا بالإجابة وكما لاحظتم وضع قبل السنة tm_year و قبل الشهر و قبل اليوم و الساعه تركها اصفار 0 لأن لم نطلب منه هذا.
مثال 2
>>>import time >>> time.strptime("04 10 2021 12 30 5","%d %m %Y %H %M %S") time.struct_time(tm_year=2021, tm_mon=10, tm_mday=4, tm_hour=12, tm_min=30, tm_sec=5, tm_wday=0, tm_yday=277, tm_isdst=-1)
إستخدام sleep مع الوقت في لغة بايثون
تقوم الدالة sleep() بتعليق كود ( إنتظار كود ) لعدد معين من الثواني يتم تحديدها ويتم إستخدامها في مكتبة time. لفهم معنى sleep بشكل أوضح سوف نأخذ المثال الآتي مستخدمين به مكتبة sleep.
import time def sleepwithloop () : for i in range (10) : time.sleep (2) print (i) #تشغيل الكود بمناداة الدالة بإسمها sleepwithloop() #مناداة الدالة للتشغيل 0 1 2 3 4 5 6 7 8 9
سوف يطبع لنا الأرقام من 0 حتى 9 لكن بين طباعة كل رقم ينتظر ثانيتين و يطبع الرقم الذي يليه و يتوقف عند الرقم 9.
لمشاهدة الدرس على يوتيوب من الرابط https://youtu.be/_ovg6IAjxwU.