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
strftime(): formatarea datelor: Transformă o dată sau o oră în text, după un șablon ca %d.%m.%Y %H:%M.strptime(): citirea datelor din text: Transformă un text într-o dată, după un șablon care descrie forma textului.json.dumps(): Transformă un dicționar, o listă sau alte valori Python în text JSON.