Skip to main content

Parser de dată și oră în română naturală — zero dependențe

Project description

rodate

Parser de dată și oră în română naturală. Zero dependențe — doar Python stdlib.

from rodate import parse_date_ro, parse_time_ro, parse_datetime_ro
import datetime

today = datetime.date(2026, 6, 30)  # marți

parse_date_ro("poimâine", today)               # → date(2026, 7, 2)
parse_date_ro("joi viitoare", today)           # → date(2026, 7, 9)
parse_date_ro("15 iulie", today)               # → date(2026, 7, 15)

parse_time_ro("la nouă fără un sfert")         # → time(8, 45)
parse_time_ro("la trei după-amiaza")           # → time(15, 0)
parse_time_ro("zece și jumătate")              # → time(10, 30)
parse_time_ro("seara pe la 7")                 # → time(19, 0)

parse_datetime_ro("mâine la trei după-amiaza", today)
# → datetime(2026, 7, 1, 15, 0)

Instalare

pip install rodate

Ce rezolvă

Nicio librărie existentă nu parsează corect română naturală:

Expresie rodate dateparser
"poimâine"
"joi viitoare"
"seara pe la 7"
"nouă fără un sfert"
"juma de zece"
"marțișor" → nu e marți

Referință API

parse_date_ro(text, today=None) → datetime.date | None

Expresie Rezultat
"ieri", "azi", "mâine", "poimâine" relativ la azi
"joi", "vineri" ziua viitoare cea mai apropiată
"joi viitoare", "luni viitoare" săptămâna următoare
"săptămâna asta joi" joi din săptămâna curentă
"peste 3 zile" azi + 3
"în weekend" sâmbăta viitoare
"15 iulie", "1 ianuarie" dată fixă (anul următor dacă a trecut)
"pe 10" ziua 10 a lunii curente/următoare

parse_time_ro(text, assume_pm=True) → datetime.time | None

Expresie Rezultat
"la prânz", "amiaza" 12:00
"miezul nopții" 00:00
"14:30", "10.30" ore exacte
"zece și jumătate" 10:30
"nouă fără un sfert" 08:45
"la trei după-amiaza" 15:00
"seara pe la 7" 19:00
"la 7 dimineața" 07:00
"juma de zece" 10:30

assume_pm=True — ore 1–7 fără context explicit → după-amiaza (util pentru agenți de rezervări). Dezactivează cu assume_pm=False pentru uz general.

parse_datetime_ro(text, today=None, assume_pm=True) → datetime.datetime | None

Combină parse_date_ro și parse_time_ro. Returnează None dacă lipsește data sau ora.

Licență

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rodate-0.1.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rodate-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file rodate-0.1.0.tar.gz.

File metadata

  • Download URL: rodate-0.1.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for rodate-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b1dbc543fbbd0aa1fb47ddd56398f4453ea40e5220f3c7d88d9559b9435cf364
MD5 f4ede06209c1c4090258b4c5c6de3554
BLAKE2b-256 d9c0197219c80e1f9c0d4d17d6db7f85de2f98d058fe4bb137567bc19fd36844

See more details on using hashes here.

File details

Details for the file rodate-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rodate-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for rodate-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f37e8ad4d475d53a5b1993a55a53efc90b199d4e098674642ef959dd543c847
MD5 25767079bcfce6a58f51c22452dec952
BLAKE2b-256 3ccdd71ae59122aadf9c857f795d2690c83ece0c3a1aa2296281313f78532917

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page