Utile v1 / Timp
Time zone detail
A whole time zone: the current time, the country, the offset, whether daylight saving is in force and when the next transition falls.
GET
https://oneapi.ro/api/utile/v1/timp/{zona}
Path parameters
NameTypeDescriptionExample
zonarequired
string
IANA time-zone name, URL-encoded (e.g.
Europe%2FBucharest).
Query parameters
This route accepts no query parameters.
How it behaves
- The next transition is searched two years ahead. A shorter window would return
nullfor zones with a single change a year, even though they do have one. taraisnullfor zones that belong to no country (UTC,Etc/GMT+3).
What it is for
- Get, in a single call, a zone's current time and when it is next going to change.
- Check which country a zone received from an external system belongs to.
- Tell your users on what date their clocks change.
Response structure
All fields below live inside data.
FieldTypeDescription
zona.zona
string
The zone the value refers to.
zona.offset
string
Which record the response starts at.
zona.offset_secunde
integer
zona.ora_de_vara
boolean
Whether daylight saving time is in force at the requested moment.
zona.abreviere
string
zona.acum
string
Local time at the moment of the request.
zona.acum_utc
string
zona.tara
string
The country code, or
null for zones without a country.
zona.urmatoarea_tranzitie
object
The next clock change, or
null if the zone has none left.
zona.urmatoarea_tranzitie.moment_utc
string
zona.urmatoarea_tranzitie.moment_local
string
When it changes, in the local time after the jump.
zona.urmatoarea_tranzitie.offset
string
Which record the response starts at.
zona.urmatoarea_tranzitie.ora_de_vara
boolean
Whether daylight saving time is in force at the requested moment.
zona.urmatoarea_tranzitie.abreviere
string
sursa.nume
string
Name of the official source.
sursa.versiune
string
Version of the dataset or artefact the values come from.
sursa.licenta
string
The licence under which the source allows reuse.
sursa.observatie
string
What to know about the source before using the data.
Response examples
GEThttps://oneapi.ro/api/utile/v1/timp/Europe%2FBucharest
{
"data": {
"zona": {
"zona": "Europe/Bucharest",
"offset": "+03: 00",
"offset_secunde": 10800,
"ora_de_vara": true,
"abreviere": "EEST",
"acum": "2026-10-06T23: 39: 54+03: 00",
"acum_utc": "2026-10-06T20: 39: 54+00: 00",
"tara": "RO",
"urmatoarea_tranzitie": {
"moment_utc": "2026-10-25T01: 00: 00+00: 00",
"moment_local": "2026-10-25T03: 00: 00+02: 00",
"offset": "+02: 00",
"ora_de_vara": false,
"abreviere": "EET"
}
},
"sursa": {
"nume": "IANA Time Zone Database (tzdata), prin runtime-ul PHP",
"versiune": "2026.3",
"licenta": "Domeniu public.",
"observatie": "Se actualizează la un upgrade de imagine, nu printr-un import. Fusurile chiar se schimbă prin decizii politice, uneori cu săptămâni înainte — de aceea versiunea e în răspuns."
}
}
}
GEThttps://oneapi.ro/api/utile/v1/timp/Europe%2FLondon
{
"data": {
"zona": {
"zona": "Europe/London",
"offset": "+01: 00",
"offset_secunde": 3600,
"ora_de_vara": true,
"abreviere": "BST",
"acum": "2026-10-06T21: 39: 54+01: 00",
"acum_utc": "2026-10-06T20: 39: 54+00: 00",
"tara": "GB",
"urmatoarea_tranzitie": {
"moment_utc": "2026-10-25T01: 00: 00+00: 00",
"moment_local": "2026-10-25T01: 00: 00+00: 00",
"offset": "+00: 00",
"ora_de_vara": false,
"abreviere": "GMT"
}
},
"sursa": {
"nume": "IANA Time Zone Database (tzdata), prin runtime-ul PHP",
"versiune": "2026.3",
"licenta": "Domeniu public.",
"observatie": "Se actualizează la un upgrade de imagine, nu printr-un import. Fusurile chiar se schimbă prin decizii politice, uneori cu săptămâni înainte — de aceea versiunea e în răspuns."
}
}
}
GEThttps://oneapi.ro/api/utile/v1/timp/Asia%2FTokyo
{
"data": {
"zona": {
"zona": "Asia/Tokyo",
"offset": "+09: 00",
"offset_secunde": 32400,
"ora_de_vara": false,
"abreviere": "JST",
"acum": "2026-10-07T05: 39: 54+09: 00",
"acum_utc": "2026-10-06T20: 39: 54+00: 00",
"tara": "JP",
"urmatoarea_tranzitie": null
},
"sursa": {
"nume": "IANA Time Zone Database (tzdata), prin runtime-ul PHP",
"versiune": "2026.3",
"licenta": "Domeniu public.",
"observatie": "Se actualizează la un upgrade de imagine, nu printr-un import. Fusurile chiar se schimbă prin decizii politice, uneori cu săptămâni înainte — de aceea versiunea e în răspuns."
}
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 404 | negasit | The zone does not exist. |
| 429 | cota_depasita | The plan's monthly quota has been exceeded (see Retry-After). |
All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.
{
"eroare": {
"cod": "negasit",
"mesaj": "The zone does not exist."
}
}