datetime은 시간/날짜 처리 표준 라이브러리
from datetime import datetime
now = datetime.now()
print(now)
from datetime import datetime
now = datetime.now()
print(now.year)
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)
2026
4
3
6
16
1
from datetime import datetime
dt = datetime(2026, 4, 3, 5, 0, 0)
print(dt)
from datetime import datetime
now = datetime.now()
new_time = now.replace(day=30)
print(new_time)
2026-04-30 06:24:23.205191
from datetime import datetime
dt = datetime(2026, 2, 28)
new_dt = dt.replace(day=30)
print(new_dt)
ValueError: day is out of range for month
from datetime import datetime
dt = datetime.strptime("2026-04-03 05:00:00", "%Y-%m-%d %H:%M:%S")
print(dt)
print(type(dt))
dt = dt.strftime("%Y-%m-%d %H:%M:%S")
print(type(dt))
2026-04-03 05:00:00
<class 'datetime.datetime'>
<class 'str'>
from datetime import datetime, timezone
now = datetime.now(timezone.utc)
ts = now.timestamp()
print(ts)
1775317695.429223
from datetime import datetime, timezone
now = datetime.now(timezone.utc)
expire_ts = now.timestamp() + 1800 # 30분 후
if current_ts > expire_ts:
print("만료")
from datetime import datetime, timezone
now = datetime.now(timezone.utc)
ts = now.timestamp()
dt = datetime.fromtimestamp(ts, timezone.utc)
print(dt)
from datetime import datetime, timezone
now = datetime.now(timezone.utc)
print(now.isoformat())
2026-04-04T15:59:48.593116+00:00
from datetime import datetime, timezone
now = datetime.now(timezone.utc)
print(now)
from datetime import datetime, timezone, timedelta
naive = datetime.now()
aware = datetime.now(timezone.utc)
print(naive)
print(aware)
2026-04-04 04:58:26.599244
2026-04-03 19:58:26.599277+00:00
from datetime import datetime, timezone, timedelta
naive = datetime.now()
aware = datetime.now(timezone.utc)
print(type(naive))
print(type(aware))
print(naive > aware)
<class 'datetime.datetime'>
<class 'datetime.datetime'>
TypeError: can't compare offset-naive and offset-aware datetimes
from datetime import datetime, timezone
from zoneinfo import ZoneInfo
utc = datetime.now(timezone.utc)
print(utc)
kst = utc.astimezone(ZoneInfo("Asia/Seoul"))
print(kst)
2026-04-04 14:29:02.088871+00:00
2026-04-04 23:29:02.088871+09:00
from datetime import datetime, timezone, timedelta
now = datetime.now(timezone.utc)
tomorrow = now + timedelta(days=1)
print(now)
print(tomorrow)
2026-04-04 14:35:38.076498+00:00
2026-04-05 14:35:38.076498+00:00
from datetime import datetime
dt1 = datetime.now()
dt2 = datetime(2026, 4, 2, 11, 22, 33)
diff = dt1 - dt2
print(type(diff))
<class 'datetime.timedelta'>
from datetime import timedelta
a = timedelta(days=1)
b = timedelta(hours=12)
diff = a - b
print(diff)
from datetime import timedelta
a = timedelta(days=1)
b = timedelta(hours=12)
diff = a - b
print(diff.total_seconds())
43200.0