Utile v1 / Timp
Conversie între fusuri
Acelaşi moment, citit în alt fus orar — cu decalajul dintre ele şi cu avertismentul când ora dată cade în gaura de primăvară sau în ora dublă de toamnă.
GET
https://oneapi.ro/api/utile/v1/timp/converteste
Parametri de interogare
NumeTipDescriereValori acceptate
dinobligatoriu
string
OBLIGATORIU. Fusul în care e exprimat momentul.
max 64 car.
inobligatoriu
string
OBLIGATORIU. Fusul în care vrei rezultatul.
max 64 car.
momentopțional
string | null
Momentul, ca
2026-12-24 18:00 sau ISO 8601. Fără el, se convertește ACUM.
max 40 car.
Cum se comportă
- Diferența de ore se dă explicit, ca număr. E întrebarea reală („cu cât e mai devreme acolo?"), iar scăderea a două offseturi e exact locul unde se greșește semnul.
- Conversia e corectă și peste trecerile la ora de vară, fiindcă offsetul se citește pentru MOMENTUL dat, nu pentru ziua de azi. Un moment de vară convertit în decembrie dă alt decalaj decât același moment convertit în iulie — corect, nu o inconsecvență.
- Atenție la momentele care nu există: la trecerea la ora de vară, ora 03:00 din 29 martie 2026 nu există în București. PHP o mută înainte; rezultatul e o oră validă, dar nu cea scrisă în cerere.
La ce folosește
- Programezi o ședință cu participanți din trei țări și vrei ora fiecăruia.
- Traduci un moment primit de la un partener în ora ta locală, corect și în ziua trecerii la ora de vară.
- Verifici la ce oră locală ajunge un job programat în UTC.
Structura răspunsului
Toate câmpurile de mai jos sunt în data.
CâmpTipDescriere
sursa.zona
string
Zona la care se referă valoarea.
sursa.moment
string
Momentul interpretat în fusul de plecare.
sursa.offset
string
De la a câta înregistrare începe răspunsul.
sursa.ora_de_vara
boolean
Dacă la momentul cerut e în vigoare ora de vară.
tinta.zona
string
Zona la care se referă valoarea.
tinta.moment
string
Același moment, în fusul de destinație.
tinta.offset
string
De la a câta înregistrare începe răspunsul.
tinta.ora_de_vara
boolean
Dacă la momentul cerut e în vigoare ora de vară.
utc
string
Momentul în UTC — ancora care leagă cele două.
diferenta_ore
integer
Decalajul dintre fusuri, în ore. Negativ înseamnă că destinația e în urmă.
Exemple de răspuns
GEThttps://oneapi.ro/api/utile/v1/timp/converteste?din=Europe/Bucharest&in=UTC
{
"data": {
"sursa": {
"zona": "Europe/Bucharest",
"moment": "2026-10-06T23: 39: 54+03: 00",
"offset": "+03: 00",
"ora_de_vara": true
},
"tinta": {
"zona": "UTC",
"moment": "2026-10-06T20: 39: 54+00: 00",
"offset": "+00: 00",
"ora_de_vara": false
},
"utc": "2026-10-06T20: 39: 54+00: 00",
"diferenta_ore": -3
}
}
GEThttps://oneapi.ro/api/utile/v1/timp/converteste?din=UTC&in=America/New_York
{
"data": {
"sursa": {
"zona": "UTC",
"moment": "2026-10-06T20: 39: 54+00: 00",
"offset": "+00: 00",
"ora_de_vara": false
},
"tinta": {
"zona": "America/New_York",
"moment": "2026-10-06T16: 39: 54-04: 00",
"offset": "-04: 00",
"ora_de_vara": true
},
"utc": "2026-10-06T20: 39: 54+00: 00",
"diferenta_ore": -4
}
}
GEThttps://oneapi.ro/api/utile/v1/timp/converteste?din=Europe/Bucharest&in=Asia/Tokyo&moment=2026-06-15T12:00:00
{
"data": {
"sursa": {
"zona": "Europe/Bucharest",
"moment": "2026-06-15T12: 00: 00+03: 00",
"offset": "+03: 00",
"ora_de_vara": true
},
"tinta": {
"zona": "Asia/Tokyo",
"moment": "2026-06-15T18: 00: 00+09: 00",
"offset": "+09: 00",
"ora_de_vara": false
},
"utc": "2026-06-15T09: 00: 00+00: 00",
"diferenta_ore": 6
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 422 | validare | Unul dintre fusuri nu există, sau momentul nu poate fi interpretat. |
| 429 | cota_depasita | Cota lunară a planului a fost depăşită (vezi Retry-After). |
Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.
{
"eroare": {
"cod": "validare",
"mesaj": "Unul dintre fusuri nu există, sau momentul nu poate fi interpretat.",
"detalii": {
"din": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}