ماژول time در پایتون | به زبان ساده

۶۴۹۱ بازدید
آخرین به‌روزرسانی: ۲۰ اردیبهشت ۱۴۰۲
زمان مطالعه: ۳ دقیقه
ماژول time در پایتون | به زبان ساده

در این مطلب، ماژول time در پایتون همراه با جزئیات کامل معرفی و روش استفاده از توابع گوناگون مرتبط با زمان در ماژول time در پایتون همراه با مثال‌های متعدد آموزش داده شده است.

توابع مرتبط با ماژول time در پایتون

در ادامه، برخی از توابع محبوب و متداول مرتبط با ماژول time در پایتون بیان شده‌اند.

()time.time پایتون

تابع ()time تعداد ثانیه‌های صرف شده از زمان «دوره» (Epoch) را باز می‌گرداند. برای سیستم «ساعت یونیکس» (Unix Time)، یکم ژانویه ۱۹۷۰، ۰۰:۰۰:۰۰ «ساعت هماهنگ جهانی» (Coordinated Universal Time | UTC) دوره است (مبدا آغاز زمان).

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

()time.ctime در پایتون

تابع ()time.ctime ثانیه‌های گذر کرده در دوره را به عنوان آرگومان دریافت می‌کند و «رشته‌ای» (Strings) را که نشان‌گر ساعت محلی است نمایش می‌دهد.

1import time
2
3# seconds passed since epoch
4seconds = 1545925769.9618232
5local_time = time.ctime(seconds)
6print("Local time:", local_time)

در صورت اجرای برنامه، خروجی به صورت زیر خواهد بود.

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

()time.sleep پایتون

تابع ()sleep «ریسه کنونی» (Current Thread) را برای مدت ثانیه‌های داده شده به تاخیر می‌اندازد.

1import time
2
3print("This is printed immediately.")
4time.sleep(2.4)
5print("This is printed after 2.4 seconds.")

پیش از پرداختن به دیگر توابع مرتبط با زمان، کلاس time.struct_time به طور مختصر مورد بررسی قرار می‌گیرد.

کلاس time.struct_time

توابع گوناگونی مانند ()gmtime و ()asctime در ماژول time وجود دارند که شی time.struct_time را به عنوان یک آرگومان دریافت می‌کنند یا آن را باز می‌گردانند.

در ادامه، مثالی از شی time.struct_time ارائه شده است.

1time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, 
2                    tm_hour=6, tm_min=35, tm_sec=17, 
3                    tm_wday=3, tm_yday=361, tm_isdst=0)
اندیسخصیصهمقدار
۰tm_year0000, ...., 2018, ..., 9999
۱tm_mon1, 2, ..., 12
۲tm_mday1, 2, ..., 31
۳tm_hour0, 1, ..., 23
۴tm_min0, 1, ..., 59
۵tm_sec0, 1, ..., 61
۶tm_wday0, 1, ..., 6; Monday is 0
۷tm_yday1, 2, ..., 366
۸tm_isdst0, 1 or -1

مقادیر (عناصر) شی time.struct_time با استفاده از شاخص‌ها و خصیصه‌ها در دسترس هستند.

ادامه فهرست توابع مرتبط با ماژول time در پایتون

در این بخش از مطلب، ادامه فهرست توابع مرتبط با ماژول time در پایتون ارائه شده است.

()time.localtime پایتون

تابع ()localtime تعداد ثانیه‌های عبور کرده از دوره را به عنوان آرگومان دریافت و مقدار struct_time را در «زمان محلی» (local time) باز می‌گرداند.

1import time
2
3result = time.localtime(1545925769)
4print("result:", result)
5print("\nyear:", result.tm_year)
6print("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 تعداد ثانیه‌های عبور کرده از دوره را به عنوان آرگومان دریافت می‌کند و  struct_time را در قالب UTC باز می‌گرداند.

1import time
2
3result = time.gmtime(1545925769)
4print("result:", result)
5print("\nyear:", result.tm_year)
6print("tm_hour:", result.tm_hour)

هنگام اجرای برنامه، خروجی به صورت زیر خواهد بود.

1result = 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)
2
3year = 2018
4tm_hour = 8

اگر هیچ آرگومانی و یا None به gmtime()‎ پاس داده شود، مقدار بازگردانده شده توسط ()time مورد استفاده قرار می‌گیرد.

()time.mktime پایتون

تابع ()mktime، به عنوان آرگومان struct_time را دریافت می‌کند (یا تاپل حاوی ۹ عنصر متناظر با struct_time) و ثانیه‌های عبور کرده از دوره را در زمان محلی باز می‌گرداند.

اساسا، تابع مذکور، معکوس تابع ()localtime است.

1import time
2
3t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
4
5local_time = time.mktime(t)
6print("Local time:", local_time)

مثال زیر نشان می‌دهد که چگونه ()mktime و ()localtime مرتبط هستند.

1import time
2
3seconds = 1545925769
4
5# returns struct_time
6t = time.localtime(seconds)
7print("t1: ", t)
8
9# returns seconds from struct_time
10s = time.mktime(t)
11print("\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

()time.asctime پایتون

تابع ()asctime، به عنوان آرگومان struct_time را دریافت می‌کند (یا یک تاپل حاوی ۹ عنصر متناظر با struct_time) و رشته‌ای که آن را نمایش می‌دهد باز می‌گرداند. در ادامه، مثالی از آنچه بیان شد آورده شده است.

1import time
2
3t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
4
5result = time.asctime(t)
6print("Result:", result)

پس از اجرای قطعه کد بالا، خروجی به صورت زیر خواهد بود:

Result: Fri Dec 28 08:44:04 2018

()time.strftime در پایتون

تابع ()strftime، به عنوان آرگومان struct_time را دریافت می‌کند (یا تاپل متناظر با آن را) و رشته نشانگر آن را بر مبنای کد فرمت استفاده شده باز می‌گرداند.

به عنوان مثالی برای مورد بیان شده، قطعه کد زیر قابل توجه است.

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

خروجی حاصل از اجرای قطعه کد بالا، به صورت زیر خواهد بود.

12/28/2018, 09:47:41

در ادامه، کدهای قالب استفاده شده در قطعه کد بالا، تشریح شده‌اند.

%Y - year [0001,..., 2018, 2019,..., 9999]
%m - month [01, 02, ..., 11, 12]
%d - day [01, 02, ..., 30, 31]
%H - hour [00, 01, ..., 22, 23
%M - minutes [00, 01, ..., 58, 59]
%S - second [00, 01, ..., 58, 61]

()time.strptime پایتون

تابع ()strptime رشته‌ای که نمایانگر زمان است را تجزیه می‌کند و struct_time را باز می‌گرداند.

1import time
2
3time_string = "21 June, 2018"
4result = time.strptime(time_string, "%d %B, %Y")
5
6print(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)
بر اساس رای ۱۹ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Programiz
۳ دیدگاه برای «ماژول time در پایتون | به زبان ساده»

خیلی دقیقی بود لذت بردم.خداقوت

سلام ممنون بابت ایت اطلاعات مفید بود فقط سوال داشتم که من دارم الان یه برنامه ای مینویسم که یه جا به مشکل برخوردم مشکل من اینه که چطوری توی برنامم دایره رسم میشه و غیره که یه جور بازیه چی باید بنویسم که چند ثانیه دایره ها بمونن بعد پاک بشن واسه پاک کردنش مشکل دارم میشه راهنمایی کنید ممنون میشم.

(ثانیه ای که میخواهید)time.sleep با ایمپورت کتابخونه time
(‘cls’)os.system با ایمپورت کتابخونه os

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *