โมดูล datetime ใน standard library ครอบคลุมการจัดการวันที่/เวลาครบถ้วน
1. วันที่/เวลาปัจจุบัน
from datetime import datetime now = datetime.now() print(now) # 2024-01-15 14:30:45.123456 print(type(now)) #
2. แปลง String ↔ Datetime
# String → datetime dt_str = '2024-01-30 14-30-59' dt_obj = datetime.strptime(dt_str, "%Y-%m-%d %H-%M-%S") print(dt_obj) # 2024-01-30 14:30:59 # datetime → String dt_str2 = datetime.strftime(dt_obj, "%Y-%m-%d %H:%M:%S") print(dt_str2) # 2024-01-30 14:30:59
3. ดึงส่วนประกอบต่างๆ
dt = datetime(2024, 1, 30, 14, 30, 59)
print(dt.year) # 2024
print(dt.month) # 1
print(dt.day) # 30
print(dt.hour) # 14
print(dt.minute) # 30
print(dt.second) # 59
print(dt.strftime("%A")) # Tuesday
print(dt.strftime("%B")) # January
4. Date Arithmetic (timedelta)
from datetime import datetime, timedelta
today = datetime.now()
print("Today:", today)
future = today + timedelta(days=5)
print("5 days later:", future)
past = today - timedelta(weeks=2)
print("2 weeks ago:", past)
# ความต่างระหว่างสองวัน
d1 = datetime(2024, 5, 12)
d2 = datetime(2023, 6, 16)
diff = d1 - d2
print("Difference:", diff) # 331 days, 0:00:00
print("Days:", diff.days) # 331
5. เปรียบเทียบวันที่
d1 = datetime(2024, 1, 1) d2 = datetime(2024, 12, 31) print(d1 < d2) # True print(d1 > d2) # False
สรุป
datetime + timedelta + strftime/strptime ครอบคลุมทุกความต้องการพื้นฐาน