نحوه استفاده از ماژول زمان پایتون

ماژول زمانی پایتون طیف گسترده ای از ویژگی های مربوط به زمان را ارائه می دهد و اغلب هنگام ایجاد پشتیبان خود با پایتون مفید است. با استفاده از این کتابخانه ، می توانید زمان و تاریخ فعلی را در قالب های استاندارد واکشی کنید. می توانید اختلاف زمان را محاسبه کرده و عملیات مربوط به زمان را در کد خود برنامه ریزی کنید.

با مثالهای کاربردی ، بیایید برخی از مفیدترین روشهای استفاده از کتابخانه زمان را به شما معرفی کنیم.

شروع به کار با کتابخانه زمان

ماژول زمان یکی از جذاب ترین گنجینه های موجود در مخزن کتابخانه پایتون است. این برنامه در پایتون ساخته شده است ، بنابراین نیازی به نصب جداگانه آن ندارید. برای شروع استفاده از آن فقط باید آن را به کد خود وارد کنید.

اگرچه کتابخانه زمان پایتون روش های زیادی دارد ، و ممکن است در ابتدا بسیار زیاد به نظر برسد ، اما ما روی روش هایی تمرکز می کنیم که احتمالاً بیشتر از آنها استفاده می کنید.

برای شروع استفاده از ماژول زمان ، آن را با عبارت زیر در اسکریپت خود وارد کنید:

 import time

دریافت دوره پیش فرض

امضای دوره کتابخانه زمان به طور پیش فرض در اولین روز و ساعت 1970 در سیستم های یونیکس شروع می شود. هرچند این به پلتفرم وابسته است. بنابراین زمان یا تاریخ شروع و تاریخ بسته به سیستم عاملی که استفاده می کنید ممکن است متفاوت باشد.

برای مشاهده دوره پیش فرض در سیستم عامل خود:

 import time
default_base = time.gmtime(0)
print(default_base)

time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1,
tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3,
tm_yday=1, tm_isdst=0)

خروجی چندگانه بالا (یک شی از نوع time.struct_time ) شامل ساختار زمانی ماژول زمان است . این جایی است که کتابخانه به طور پیش فرض جزئیات تاریخ و زمان را ذخیره می کند. از نتیجه ، تاریخ tm_year به 1970 برمی گردد ، با برخی دیگر از خواص که مقدار پیش فرض آنها صفر است. به هر حال ، gmtime میانگین زمان گرینویچ را برمی گرداند که ممکن است با منطقه زمانی محلی شما متفاوت باشد.

شما می توانید دوره محلی را با استفاده از time.localtime () دریافت کنید:

 import time
default_base = time.localtime(0)
print(default_base)

اجرای کد بالا بسته به منطقه زمانی محلی شما ممکن است مقادیر خصوصیات فردی را تغییر دهد. به عنوان مثال ، در طول تابستان بریتانیا در انگلستان ، tm_hour به جای "0" GMT "1" خواهد بود.

مطالب مرتبط: نحوه اجرای اسکریپت پایتون

جزئیات زمان و تاریخ کنونی را مشاهده کنید

برای بدست آوردن زمان فعلی به عنوان شی time.struct_time ، با time.gmtime () بدون هیچ گونه آرگومان تماس بگیرید :

 import time
current_time = time.gmtime()
print(current_time)

time.struct_time(tm_year=2021, tm_mon=10, tm_mday=2,
tm_hour=11, tm_min=13, tm_sec=18, tm_wday=5,
tm_yday=275, tm_isdst=0)

همانطور که در مثال های قبلی انجام دادید ، time.gmtime () را با time.localtime () جایگزین کنید تا زمان محلی فعلی خود را ببینید.

زمان بین عصر و زمان کنونی را محاسبه کنید

از تابع time.time () برای دیدن تعداد ثانیه ها بین زمان فعلی و دوره استفاده کنید:

 import time
print("Time difference in seconds:", time.time())

Time difference in seconds: 1633178361.142249

برای مشاهده تفاوت سال:

 import time

# Calculate the number of years:
print("Year difference is approximately:", round(time.time() / (3600 * 365 * 24)), "years")

Year difference is approximately: 52 years

زمان محلی کنونی را استخراج کنید

اغلب در عمل لازم نیست ، اما می توانید به هر یک از مقادیر در یک شی time.struct_time با دسترسی مستقیم به ویژگی های آن دسترسی پیدا کنید.

به عنوان مثال ، برای دریافت ساعت ، دقیقه و سال جاری از زمان محلی فعلی خود:

 import time

current_local_time = time.localtime()

hours = current_local_time.tm_hour
mins = current_local_time.tm_min
year = current_local_time.tm_year

print(("The local time and year detail are: {}th hour, {}mins, and year {}").format(hours, mins, year))

The local time and year detail are: 11th hour, 49mins, and year 2021

برای خودکارسازی خروجی به جای سخت افزاری که در بالا انجام دادیم ، می توانید زمان محلی فعلی را با استفاده از تابع time.ctime () خروجی بگیرید.

در اینجا نحوه مشاهده زمان محلی فعلی با استفاده از time.ctime () آمده است :

 import time
print(time.ctime())

Sat Oct 2 13:58:07 2021

اما گزینه بالا هیچ کنترلی بر خروجی به شما نمی دهد.

برای دستکاری خروجی ، می توانید قالب زمان را با استفاده از time.strftime () با حاشیه نویسی رشته ها سخت کنید:

 import time
current_local_time = time.localtime()

# Get the current local time:
current_local_time = time.localtime()

# Stringify the current local time using string annotations:
dtime = time.strftime("The date and time is: %a, %d-%b-%Y, %I:%M %p", current_local_time)

print(dtime)

The date and time is: Sat, 02-Oct-2021, 11:57 AM

در کد بالا ، ٪ a نشان دهنده نام اختصاری روز جاری است. ٪ p نشان دهنده صبح یا بعد از ظهر ، در منطقه شما است. در انگلیسی ، این به AM یا PM ترجمه می شود .

مطالب مرتبط: روش قالب () رشته پایتون چگونه کار می کند؟

می توانید در وقت آزاد خود به همه حاشیه نویسی های رشته ای برای strftime () در اسناد پایتون نگاهی بیندازید. با خیال راحت آنها را هر طور که دوست دارید تغییر دهید و زمان مورد نیاز خود را قالب بندی کنید. می توانید با افزودن گزینه های رشته بیشتر به مثال بالا و مشاهده خروجی آنها آزمایش کنید. به عنوان مثال ، می توانید ٪ I را با ٪ H جایگزین کنید تا به جای آن یک قالب 24 ساعته از زمان فعلی دریافت کنید.

برنامه زمان بندی کد با ماژول زمان پایتون

می توانید اجرای کد را با استفاده از تابع time.sleep () به تأخیر بیندازید . این تابع زمانی می تواند مفید باشد که نیاز به برنامه ریزی درخواست ها یا اجرای یک برنامه چند رشته ای با استفاده از پایتون داشته باشید.

بیایید ببینیم چگونه کار می کند:

 import time
time.sleep(3)
print("This post will show after 3 seconds")

توجه داشته باشید که time.sleep () فقط آرگومان های float و integer را می پذیرد که به ثانیه ترجمه می شود. بنابراین اگر در حال برنامه ریزی برای یک ساعت یا دقیقه بعدی هستید ، باید این موارد را به ثانیه تبدیل کنید.

برای تأخیر خروجی یک ساعت ، به عنوان مثال:

 time.sleep(3600)
print("This post will show after an hour")

ایجاد یک تایمر شمارش معکوس با استفاده از time.sleep ()

استفاده از تابع time.sleep () و پایتون برای حلقه ، بیایید یک تایمر شمارش معکوس ایجاد کنیم که ورودی کاربر را می پذیرد:

 import time
print("Start counting seconds from:")

# Create a timer input field that accepts an integer
timer = int(input())

# Increment the timer so that it starts at the specified input
timer = range(timer + 1)

# Assign the length of the timer to a new variable =>
# Then remove one from timer's length to match its index

v = len(timer) - 1

for i in timer:
# Increment the time every one second
time.sleep(1)

# Concatenate the previous count with the next count
# to prevent new line at each iteration
print(timer[v], end = " ", flush=True)
print("", end = "", flush=True)

# Decrease the length of timer input by one for each iteration
v -= 1

هنگامی که کد بالا را اجرا می کنید و مقدار زمان خود را تنظیم می کنید ، مقدار ثانیه هر ثانیه کاهش می یابد تا به صفر برسد.

استفاده صحیح از کتابخانه زمان پایتون

اکنون می دانید چگونه از کد پایتون به زمان فعلی دسترسی پیدا کرده و خروجی زمان و تاریخ را دستکاری کنید. ماژول زمان همچنین یک ابزار ارزشمند برای ردیابی درخواست ها در سرور هنگام استفاده از پایتون برای برنامه نویسی پشتیبان است.

و از آنجا که خروجی ها عمدتاً عدد صحیح یا شناور هستند ، می توانید آنها را همانطور که دوست دارید به کار ببرید تا زمان خود را در ساعت ها ، روزها ، ماه ها یا سالها بدست آورید.