Time zone and UTC offset at a point
curl -X GET https://api.astroway.info/v1/geo/timezone?lat=49.8397&lon=24.0297 \ -H "X-Api-Key: aw_live_..." \ -H "Content-Type: application/json"const res = await fetch('https://api.astroway.info/v1/geo/timezone?lat=49.8397&lon=24.0297', { method: 'GET', headers: { 'X-Api-Key': process.env.ASTROWAY_API_KEY, 'Content-Type': 'application/json', },});const { ok, data, error } = await res.json();if (!ok) throw new Error(error.message);console.log(data);import os, requests
r = requests.get( 'https://api.astroway.info/v1/geo/timezone?lat=49.8397&lon=24.0297', headers={'X-Api-Key': os.environ['ASTROWAY_API_KEY'], 'Content-Type': 'application/json'},)result = r.json()if not result['ok']: raise RuntimeError(result['error']['message'])print(result['data'])<?phpuse GuzzleHttp\Client;
$client = new Client(['base_uri' => 'https://api.astroway.info/v1/']);$r = $client->get('geo/timezone?lat=49.8397&lon=24.0297', [ 'headers' => ['X-Api-Key' => getenv('ASTROWAY_API_KEY')],]);$result = json_decode($r->getBody(), true);if (!$result['ok']) throw new \RuntimeException($result['error']['message']);print_r($result['data']);The IANA zone at a point and the UTC offset its clocks kept at that local date and time, from the tz database, never a fixed offset: Kyiv answers +2 in January, +3 in July and +4 on 15 May 1990, when it kept Moscow summer time. time defaults to 12:00 and matters on the day clocks change; a skipped hour resolves to the offset from before the change, a repeated one to its first occurrence. standardOffset is the smaller of the year’s offsets and isDst is true when the clock is ahead of it. Before 1970 the tz database is not reliable everywhere: if you know the local clock, send timezoneOffset to the chart instead.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Example
49.8397Latitude in decimal degrees, north positive.
Example
24.0297Longitude in decimal degrees, east positive.
Example
1990-05-15Local calendar date YYYY-MM-DD at the point. Defaults to today (UTC).
Example
15:30Local clock time HH:MM or HH:MM:SS. Matters only on the day clocks change.
Comma-separated dotted paths, relative to data, to keep in the response. A path is applied to every element of an array, so planets.name means the name of each planet. Paths that match nothing come back in _fields_unmatched; a list where nothing matches at all is a 400, because an empty object would be a confident wrong answer.
Example
planets.name,planets.longitudeRound every non-integer number in the response to this many decimal places. Integers are left alone, because an id is not a measurement. Ecliptic longitudes ship with fourteen decimals by default; 2 is about a tenth of an arcminute.
Example
4Responses
Section titled “ Responses ”Successful calculation
object
object
Example
{ "ok": true, "data": { "latitude": 50.45, "longitude": 30.52, "timezone": "Europe/Kyiv", "nautical": false, "date": "1990-05-15", "time": "15:30", "utcOffset": 4, "utcOffsetText": "+04:00", "standardOffset": 3, "isDst": true }}Validation error
Example
{ "ok": false, "error": { "code": "INVALID_INPUT", "message": "Validation failed: date: Date must be YYYY-MM-DD", "details": [ { "path": "date", "message": "Date must be YYYY-MM-DD" } ] }}Missing or invalid API key
Example
{ "ok": false, "error": { "code": "INVALID_API_KEY", "message": "Invalid API key" }}