isoformat() și fromisoformat() în Python

Dată și oră Python 3.0+ (fromisoformat: 3.7+, orice format ISO: 3.11+)

Scrie și citește datele în formatul standard ISO 8601 (2026-10-19T14:30:00).

Sintaxă
data.isoformat()
dt.isoformat(sep='T', timespec='auto')
datetime.fromisoformat(text)

Ce face isoformat() și fromisoformat()

isoformat() produce textul standard ISO 8601: AAAA-LL-ZZ pentru date, HH:MM:SS pentru ore și combinația lor cu T la datetime. Este formatul recomandat pentru JSON, fișiere și baze de date, pentru că se sortează corect ca text. timespec alege precizia ('minutes', 'seconds', 'milliseconds'…).

fromisoformat() (pe date, datetime și time) citește înapoi textul. Din Python 3.11 acceptă aproape orice variantă ISO, inclusiv Z pentru UTC.

Parametri

Parametru Descriere
sep Pentru datetime.isoformat: caracterul dintre dată și oră.
timespec Precizia orei.
text Pentru fromisoformat: textul ISO.

Ce returnează

isoformat: text. fromisoformat: obiectul corespunzător.

Exemple

Exemplul 1: Scriere și citire

from datetime import date, datetime, time
d = datetime(2026, 10, 19, 14, 30, 5, 123456)
print(d.isoformat())
print(d.isoformat(sep=" ", timespec="minutes"))
print(date(2026, 10, 19).isoformat(), time(8, 5).isoformat())
print(datetime.fromisoformat("2026-10-19T14:30:00Z"))
print(date.fromisoformat("2026-10-19"), time.fromisoformat("08:05:30"))

Rezultat

2026-10-19T14:30:05.123456
2026-10-19 14:30
2026-10-19 08:05:00
2026-10-19 14:30:00+00:00
2026-10-19 08:05:30

Greșeli frecvente

  • Salvezi datele ca "19.10.2026" într-un fișier și apoi le sortezi ca text: „01.11” ajunge înaintea lui „19.10”. Formatul ISO se sortează corect.

Comenzi înrudite