ماژول datetime در پایتون
کار با تاریخ و زمان: date، time، datetime، timedelta و فرمتبندی
ماژول datetime
import datetime
تاریخ و زمان فعلی
import datetime
now = datetime.datetime.now()
print(now) # 2025-01-15 14:30:25.123456
today = datetime.date.today()
print(today) # 2025-01-15
ساخت تاریخ خاص
# تاریخ
d = datetime.date(2025, 1, 15)
print(d) # 2025-01-15
# زمان
t = datetime.time(14, 30, 0)
print(t) # 14:30:00
# تاریخ و زمان
dt = datetime.datetime(2025, 1, 15, 14, 30)
print(dt) # 2025-01-15 14:30:00
دسترسی به اجزا
now = datetime.datetime.now()
print(now.year) # 2025
print(now.month) # 1
print(now.day) # 15
print(now.hour) # 14
print(now.minute) # 30
print(now.weekday()) # 2 (سهشنبه — دوشنبه=0)
فرمتبندی — strftime
now = datetime.datetime.now()
print(now.strftime("%Y/%m/%d")) # 2025/01/15
print(now.strftime("%H:%M:%S")) # 14:30:25
print(now.strftime("%Y-%m-%d %H:%M")) # 2025-01-15 14:30
کدهای فرمت
| کد | معنی |
|---|---|
%Y | سال ۴ رقمی |
%m | ماه (۰۱-۱۲) |
%d | روز (۰۱-۳۱) |
%H | ساعت (۰۰-۲۳) |
%M | دقیقه |
%S | ثانیه |
%A | نام روز |
%B | نام ماه |
تبدیل رشته به تاریخ — strptime
date_str = "2025-01-15"
dt = datetime.datetime.strptime(date_str, "%Y-%m-%d")
print(dt) # 2025-01-15 00:00:00
timedelta — فاصله زمانی
from datetime import timedelta
now = datetime.datetime.now()
# فردا
tomorrow = now + timedelta(days=1)
# هفته بعد
next_week = now + timedelta(weeks=1)
# ۲ ساعت قبل
two_hours_ago = now - timedelta(hours=2)
تفاوت دو تاریخ
d1 = datetime.date(2025, 1, 15)
d2 = datetime.date(2025, 12, 31)
diff = d2 - d1
print(diff.days) # 350
خلاصه
| کلاس | توضیح |
|---|---|
date | تاریخ |
time | زمان |
datetime | تاریخ و زمان |
timedelta | فاصله زمانی |
این مبحث بخشی از دوره آموزش کامل پایتون است.