التاريخ و الوقت
التاريخ و الوقت ( 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.
