التعامل مع التاريخ و الوقت في بايثون - ProgrammerTech
Language:

Search

التعامل مع التاريخ و الوقت في بايثون

  • Share this:
التعامل مع التاريخ و الوقت في بايثون

التاريخ و الوقت

التاريخ و الوقت ( date and time ) في بايثون, توجد الكثير من المكاتب module التي تساعدنا على عرض التاريخ و الوقت, و كما واضح من إسم الدرس أننا نتعامل مع التاريخ و الوقت, هو مهم في حال كنا نعمل على كود أو تطبيق ونريد عرض التاريخ و الوقت عليه.

>>>import time
>>>time.time()
1583307387.367132

نلاحظ أنه طبع لنا التاريخ و الوقت بشكل seconds, و لعرضه بالطريقة العادية نكتب كالتالي :

>>>import time
>>>time.ctime()
'Wed Mar  4 10:38:12 2020'

كما لاحظنا أنه طَبَعَ لنا التاريخ و الوقت بشكل نظامي حسب الوقت في الحاسب لدي اما اذا كتبنا كالتالي  :

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())
'Wed Mar  4 10:57:26 2020'
>>>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)

 

الكلاس time في بايثون الوقت و التاريخ

معنى السؤال أعطيناه يوم و شهر و سنة و بعده اعطيناه رموز دلالاتهن ليميزهن لنا بالإجابة وكما لاحظتم وضع قبل السنة 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)

 

استخدام الكلاس time في لغة بايثون

 

إستخدام 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.


Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش من سورية من ريف حلب الشرقي 1994, محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com