Time Zones
Freetools:zona-waktu
Current time in several zones at once and conversion between IANA time zones, with WIB/WITA/WIT abbreviations for Indonesia and daylight saving handled for other countries.
No key yet? Sign up free
GET/v1/tools:zona-waktu/konversi
Convert a time between zones.
Cache 86400 s
1 quota / request
tools.zona-waktu.konversi
cURL
curl -H "x-api-key: ga_live_..." "https://kajidata.artonlabs.com/v1/tools:zona-waktu/konversi?to=Europe%2FLondon%2CAmerica%2FNew_York&from=Asia%2FJakarta&time=2026-11-01T09%3A00"
Python
import requests
response = requests.get(
"https://kajidata.artonlabs.com/v1/tools:zona-waktu/konversi",
params={"to": "Europe/London,America/New_York", "from": "Asia/Jakarta", "time": "2026-11-01T09:00"},
headers={"x-api-key": "ga_live_..."},
timeout=30,
)
body = response.json()
print(body["data"] if body["ok"] else body["error"])
JavaScript
const params = new URLSearchParams({"to": "Europe/London,America/New_York", "from": "Asia/Jakarta", "time": "2026-11-01T09:00"});
const response = await fetch(`https://kajidata.artonlabs.com/v1/tools:zona-waktu/konversi?${params}`, {
headers: { "x-api-key": "ga_live_..." },
});
const body = await response.json();
console.log(body.ok ? body.data : body.error);
PHP
<?php
$ch = curl_init('https://kajidata.artonlabs.com/v1/tools:zona-waktu/konversi?' . http_build_query(['to' => 'Europe/London,America/New_York', 'from' => 'Asia/Jakarta', 'time' => '2026-11-01T09:00']));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['x-api-key: ga_live_...'],
CURLOPT_TIMEOUT => 30,
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body['ok'] ? $body['data'] : $body['error']);
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
params := url.Values{}
params.Set("to", "Europe/London,America/New_York")
params.Set("from", "Asia/Jakarta")
params.Set("time", "2026-11-01T09:00")
req, _ := http.NewRequest("GET", "https://kajidata.artonlabs.com/v1/tools:zona-waktu/konversi?"+params.Encode(), nil)
req.Header.Set("x-api-key", "ga_live_...")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var body map[string]any
json.NewDecoder(res.Body).Decode(&body)
fmt.Println(body["data"])
}
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://kajidata.artonlabs.com/v1/tools:zona-waktu/konversi?to=Europe%2FLondon%2CAmerica%2FNew_York&from=Asia%2FJakarta&time=2026-11-01T09%3A00"))
.header("x-api-key", "ga_live_...")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Ruby
require "net/http"
require "json"
uri = URI("https://kajidata.artonlabs.com/v1/tools:zona-waktu/konversi")
uri.query = URI.encode_www_form({"to" => "Europe/London,America/New_York", "from" => "Asia/Jakarta", "time" => "2026-11-01T09:00"})
request = Net::HTTP::Get.new(uri)
request["x-api-key"] = "ga_live_..."
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
body = JSON.parse(response.body)
puts body["ok"] ? body["data"] : body["error"]
C#
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "ga_live_...");
var json = await client.GetStringAsync("https://kajidata.artonlabs.com/v1/tools:zona-waktu/konversi?to=Europe%2FLondon%2CAmerica%2FNew_York&from=Asia%2FJakarta&time=2026-11-01T09%3A00");
Console.WriteLine(json);
GET/v1/tools:zona-waktu/sekarang
Current time in several zones.
Cache 1 s
1 quota / request
tools.zona-waktu.sekarang
cURL
curl -H "x-api-key: ga_live_..." "https://kajidata.artonlabs.com/v1/tools:zona-waktu/sekarang?zones=Asia%2FJakarta%2CAsia%2FTokyo%2CEurope%2FLondon"
Python
import requests
response = requests.get(
"https://kajidata.artonlabs.com/v1/tools:zona-waktu/sekarang",
params={"zones": "Asia/Jakarta,Asia/Tokyo,Europe/London"},
headers={"x-api-key": "ga_live_..."},
timeout=30,
)
body = response.json()
print(body["data"] if body["ok"] else body["error"])
JavaScript
const params = new URLSearchParams({"zones": "Asia/Jakarta,Asia/Tokyo,Europe/London"});
const response = await fetch(`https://kajidata.artonlabs.com/v1/tools:zona-waktu/sekarang?${params}`, {
headers: { "x-api-key": "ga_live_..." },
});
const body = await response.json();
console.log(body.ok ? body.data : body.error);
PHP
<?php
$ch = curl_init('https://kajidata.artonlabs.com/v1/tools:zona-waktu/sekarang?' . http_build_query(['zones' => 'Asia/Jakarta,Asia/Tokyo,Europe/London']));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['x-api-key: ga_live_...'],
CURLOPT_TIMEOUT => 30,
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body['ok'] ? $body['data'] : $body['error']);
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
params := url.Values{}
params.Set("zones", "Asia/Jakarta,Asia/Tokyo,Europe/London")
req, _ := http.NewRequest("GET", "https://kajidata.artonlabs.com/v1/tools:zona-waktu/sekarang?"+params.Encode(), nil)
req.Header.Set("x-api-key", "ga_live_...")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var body map[string]any
json.NewDecoder(res.Body).Decode(&body)
fmt.Println(body["data"])
}
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://kajidata.artonlabs.com/v1/tools:zona-waktu/sekarang?zones=Asia%2FJakarta%2CAsia%2FTokyo%2CEurope%2FLondon"))
.header("x-api-key", "ga_live_...")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Ruby
require "net/http"
require "json"
uri = URI("https://kajidata.artonlabs.com/v1/tools:zona-waktu/sekarang")
uri.query = URI.encode_www_form({"zones" => "Asia/Jakarta,Asia/Tokyo,Europe/London"})
request = Net::HTTP::Get.new(uri)
request["x-api-key"] = "ga_live_..."
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
body = JSON.parse(response.body)
puts body["ok"] ? body["data"] : body["error"]
C#
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "ga_live_...");
var json = await client.GetStringAsync("https://kajidata.artonlabs.com/v1/tools:zona-waktu/sekarang?zones=Asia%2FJakarta%2CAsia%2FTokyo%2CEurope%2FLondon");
Console.WriteLine(json);