Python modul datetime

Úvod

Modul datetime poskytuje nástroje pro práci s datem, časem a časovými intervaly.

  • date – reprezentace kalendářního data

  • time – reprezentace denního času

  • datetime – kombinace data a času

  • timedelta – časový rozdíl

  • timezone – práce s časovými zónami

date

Reprezentace kalendářního dne.

from datetime import date

today = date.today()
print(today)        # 2025-12-02
print(today.year)
print(today.month)
print(today.day)

datetime

Kombinuje datum a čas v jednom objektu.

from datetime import datetime

now = datetime.now()
print(now)

custom = datetime(2025, 12, 2, 14, 30)

time

Reprezentace času bez data.

from datetime import time

t = time(14, 30, 15)
print(t.hour)
print(t.minute)

timedelta

Časový rozdíl — vhodné pro výpočty.

from datetime import datetime, timedelta

now = datetime.now()
tomorrow = now + timedelta(days=1)
diff = tomorrow - now
print(diff)

Formátování (strftime)

Konverze datetime na řetězec.

now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M"))
  • %Y – rok

  • %m – měsíc

  • %d – den

  • %H – hodina

  • %M – minuta

  • %S – sekunda

Parsování (strptime)

Řetězec → datetime.

from datetime import datetime

dt = datetime.strptime("2025-12-02 10:30", "%Y-%m-%d %H:%M")

Časové zóny

Modul nabízí jednoduchou práci pomocí timezone.

from datetime import datetime, timezone, timedelta

utc = datetime.now(timezone.utc)
cet = utc.astimezone(timezone(timedelta(hours=1)))

ISO 8601

Standardní formát datumu/času.

dt = datetime.now()
iso = dt.isoformat()
print(iso)

Alternativa: Modul Arrow

Arrow je přívětivější knihovna pro práci s časem — poskytuje lepší API, jednodušší manipulaci a automatickou práci s časovými zónami.

Instalace:

pip install arrow

Použití:

import arrow

now = arrow.now()
print(now)

shifted = now.shift(days=+3, hours=-2)
print(shifted)

formatted = now.format("YYYY-MM-DD HH:mm")
print(formatted)

parsed = arrow.get("2025-12-02 10:30", "YYYY-MM-DD HH:mm")
print(parsed)

Arrow

  • Jednodušší API než datetime

  • Lepší práce s časovými zónami

  • Přátelské formátování a parsování

  • ISO 8601 podpora out-of-the-box

Shrnutí

  • datetime = práce s datem i časem

  • Podporuje offsety, výpočty, formátování

  • Kompatibilní s ISO 8601

  • Základní modul Pythonu – není třeba instalovat další knihovny