دوره‌ها / آموزش پایتون (Python) / تاریخ‌ها (Python Dates)

تاریخ‌ها (Python Dates)

15 دقیقه Article

مدیریت زمان و تاریخ در پایتون (Datetime Library) 📅🕒

در دنیای نرم‌افزار، کار با زمان همیشه چالش‌برانگیز است (منطقه‌های زمانی، سال‌های کبیسه و ...). پایتون برای حل این مشکلات، ماژول بسیار قدرتمند datetime را در اختیار ما قرار داده است.

۱. استخراج زمان دقیق فعلی

کلاس datetime در ماژول datetime (بله، نامشان یکی است!) متدی به نام now() دارد که زمان لحظه‌ای سیستم را برمی‌گرداند.

import datetime
x = datetime.datetime.now()
print(x)
print(x.year)
print(x.strftime("%A"))

۲. فرمت‌دهی با Strftime (هنر نمایش زمان) ✨

نمایش خام تاریخ (مثلاً 2024-12-24) برای کاربر نهایی جذاب نیست. پایتون کدهای فرمت‌دهی دارد که اجازه می‌دهد هر بخشی از تاریخ را استخراج کنید:

<th style="border: 1px solid rgba(255,255,255,0.1); padding: 12px; text-align: right;">کد</th> <th style="border: 1px solid rgba(255,255,255,0.1); padding: 12px; text-align: right;">توضیح</th> <th style="border: 1px solid rgba(255,255,255,0.1); padding: 12px; text-align: right;">مثال</th>
%aنام کوتاه روز هفتهWed
%Aنام کامل روز هفتهWednesday
%dروز ماه (01-31)24
%bنام کوتاه ماهDec
%Bنام کامل ماهDecember
%Yسال کامل2024
%Hساعت (00-23)17
%Mدقیقه45

۳. محاسبات زمانی (Timedelta)

اگر بخواهید بدانید 10 روز دیگر چه تاریخی است، یا فاصله بین دو تاریخ چقدر است، پایتون از timedelta استفاده می‌کند. این کلاس برای اضافه یا کم کردن بازه‌های زمانی (روز، ساعت، ثانیه) فوق‌العاده است.

ایجاد تاریخ سفارشی: شما می‌توانید برای ساخت یک رویداد خاص در گذشته یا آینده، مستقیماً پارامترها را بدهید: d = datetime.datetime(1995, 1, 1). پایتون به صورت هوشمند معتبر بودن این تاریخ را هم چک می‌کند.
تاریخ شمسی در پایتون: کتابخانه‌های معروفی مثل jdatetime وجود دارند که دقیقاً مشابه همین ماژول عمل می‌کنند اما تاریخ را به هجری شمسی تبدیل و مدیریت می‌کنند.

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

دریافت سال فعلی Medium
سوال تمرین

با استفاده از متد now() از ماژول datetime، سال فعلی را به صورت یک عدد چاپ کنید.

پاسخ تمرین
PYTHON
import datetime
x = datetime.datetime.now()
print(x.year)

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.