English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل الأساسيات في Python

تحكم في العملية في Python

الوظائف في Python

أنواع البيانات في Python

عمليات ملفات في Python

كائنات وأصناف في Python

تاريخ和时间 في Python

معرفة متقدمة في Python

كتيب مرجع Python

وحدة time في Python

في هذا المقال، سنناقش مودول time بشكل مفصل. سنتعلم كيفية استخدام وظائف مختلفة مرتبطة بالوقت المحددة في مودول time عبر أمثلة.

يحتوي Python على مودول يحمل الاسم time للتعامل مع المهام المتعلقة بالوقت. نحتاج أولاً إلى استيراد المودول حتى نتمكن من استخدام الوظائف المحددة به. مثل هذا:

import time

هذه هي الوظائف المتعلقة بالوقت المستخدمة بشكل شائع.

Python time.time()

يقوم وظيفة time() بإرجاع الثواني التي مرت منذ الإرادة.

بالنسبة لنظام Unix، في 1 يناير 1970، 00:00:00 فيالتوقيت العالمي المنسق (UTC)هي الإرادة (حيث بدأت الزمن).

import time
seconds = time.time()
print("Seconds since epoch =", seconds)

Python time.ctime()

يأخذ time.ctime() الثواني من الإرادة كمعامل ويقوم بإرجاع نص يعكس الوقت المحلي.

import time
# الثواني التي مرت منذ الإرادة
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("وقت محلي:", local_time)

إذا قمت بتشغيل هذا البرنامج، فإن الناتج سيكون مشابهًا لـ:

Local time: Thu Dec 27 15:49:29 2018

Python time.sleep()

تتوقف وظيفة sleep() الحالية لمدة الثواني المحددة على تنفيذ سطر الحالي.

import time
print("هذا هو الطباعة الفورية.")
time.sleep(2.4)
print("هذا هو الطباعة بعد 2.4 ثانية.")

للحصول على معلومات إضافية، يرجى زيارة:sleep() في Python.

قبل مناقشة وظائف أخرى مرتبطة بالوقت، دعونا نلقي نظرة سريعة على فئة time.struct_time.

فئة time.struct_time

بعض الوظائف في مودول الوقت (مثل gmtime()، asctime() إلخ) تأخذ كائن time.struct_time كمعامل أو تقوم بإرجاعه.

هذه هي مثال على كائن time.struct_time.

time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, 
                    tm_hour=6, tm_min=35, tm_sec=17, 
                    tm_wday=3, tm_yday=361, tm_isdst=0)
المؤشر
الخاصيةقيمة الخاصية
0tm_year0000،....،2018،...،9999
1tm_mon1،2،...،12
2tm_mday1،2،...،31
3tm_hour0،1،...،23
4tm_min0،1،...،59
5tm_sec0،1،...،61
6tm_wday0،1،...،6؛ الإثنين هو 0
7tm_yday1،2،...،366
8tm_isdst0،1 أو -1

يمكن استخدام المؤشر والخصائص لاسترداد قيم time.struct_time (العناصر).

Python time.localtime()

تستخدم دالة localtime() الثانية عدد الثواني التي مرت منذ epoch كمعامل، ويقوم بتحويلها إلىlocaltimeالعودة بـ struct_time.

import time
result = time.localtime(1545925769)
اطبع("result:", result)
اطبع("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)

عند تشغيلك للبرنامج، الناتج سيكون مشابهًا لـ:

result: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0)
year: 2018
tm_hour: 15

إذا لم يتم تقديم أي معامل أو None لـ localtime()، يستخدم time() القيمة التي يتم رجوعها.

Python time.gmtime()

يستخدم دالة gmtime() الثانية عدد الثواني التي مرت منذ epoch كمعامل، ويقوم بتحويلها إلىالتوقيت العالمي المنسق (UTC)العودة.

import time
result = time.gmtime(1545925769)
اطبع("result:", result)
اطبع("\nyear:", result.tm_year)
print("tm_hour:", result.tm_hour)

عند تشغيل هذا البرنامج، الناتج سيكون:

result = time.struct_time(tm_year=2018, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=44, tm_sec=4, tm_wday=4, tm_yday=362, tm_isdst=0)
year = 2018
tm_hour = 8

إذا لم يتم تقديم معامل أو None لـ gmtime()، يستخدم time() القيمة التي تعود منها.

Python time.mktime()

وظيفة mktime() تأخذ struct_time (أو مجموعة تحتوي على 9 عناصر تتوافق مع struct_time) كمعامل، وتعيد عدد الثواني التي مرت منذ بداية الزمن. بشكل أساسي، هي العكس من localtime()

import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("وقت محلي:", local_time)

السلسلة التالية توضح علاقة mktime() و localtime()

import time
seconds = 1545925769
# يعيد struct_time
t = time.localtime(seconds)
print("t1: ", t)
# يعيد ثواني من struct_time
s = time.mktime(t)
print("\s:", seconds)

عند تشغيلك للبرنامج، الناتج سيكون مشابهًا لـ:

t1: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0)
s: 1545925769.0

Python time.asctime()

وظيفة asctime() تأخذ struct_time (أو مجموعة تحتوي على 9 عناصر تتوافق مع struct_time) كمعامل، وتعيد رقماً نصياً يمثلها. هذا مثال:

import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("نتيجة:", result)

عند تشغيل هذا البرنامج، الناتج سيكون:

نتيجة: الجمعة 28 كانون الأول 08:44:04 2018

بيانثون time.strftime()

تقوم هذه الدالة strftime() بتلقي struct_time (أو التuple المماثل) كمعامل، وتعيد نص يمثلها بناءً على رموز التنسيق المستخدمة. على سبيل المثال،

import time
named_tuple = time.localtime() # get struct_time
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)

عند تشغيلك للبرنامج، الناتج سيكون مشابهًا لـ:

12/28/2018, 09:47:41

هنا %Y،%m،%d،%H وما إلى ذلك هي رموز التنسيق.

  • %Y - السنة [0001،...،2018،2019،...،9999]

  • %m - الشهر [01،02،...،11،12]

  • %d - اليوم [01،02،...،30،31]

  • %H - الساعات [00،01،...،22،23

  • %M - الدقائق [00،01،...،58،59]

  • %S - الثواني [00،01،...،58،61]

للحصول على معلومات إضافية، يرجى زيارة:time.strftime().

بيانثون time.strptime()

يحلل هذا الدالة strptime() نص تمثل به الزمن ويعود بـ struct_time.

import time
time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")
print(result)

عند تشغيل هذا البرنامج، الناتج سيكون:

time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=172, tm_isdst=-1)