Saat Dilimi
Time Zone API istekleri, URL dizesi olarak oluşturulur. API, enlem-boylam çiftiyle belirtilen bir nokta için saat dilimi verilerini döndürür. Okyanus veya deniz gibi su üzerindeki konumlar için saat dilimi verilerinin mevcut olmayabileceğini unutmayın.
Saat dilimi isteği şu biçimde olur:
https://maps.googleapis.com/maps/api/timezone/outputFormat?parameters
Burada outputFormat aşağıdaki değerlerden biri olabilir:
json(önerilir), çıktının JavaScript Object Notation (JSON) biçiminde olduğunu gösterir veyaxml, çıkışın XML biçiminde olduğunu ve<TimeZoneResponse>düğümü içinde sarmalandığını gösterir.
Not: URL'lerin geçerli olması için düzgün şekilde kodlanması gerekir ve tüm web hizmetleri için 16.384 karakterle sınırlıdır. URL'lerinizi oluştururken bu sınıra dikkat edin. Farklı tarayıcıların, proxy'lerin ve sunucuların URL karakter sınırlarının da farklı olabileceğini unutmayın.
Gerekli parametreler
-
konum
Aranacak konumu temsil eden, virgülle ayrılmış enlem, boylam çifti (
location=39.6034810,-119.6822510). -
timestamp
1 Ocak 1970 UTC tarihinden bu yana geçen saniye sayısı olarak planlanan saat. Time Zone API,
locationsaat dilimine göre yaz saati uygulamasının geçerli olup olmadığını belirlemek içintimestampkullanır.API'nin geçmiş saat dilimlerini dikkate almadığını unutmayın. Yani geçmiş bir zaman damgası belirtirseniz API, konumun daha önce farklı bir saat diliminde olma olasılığını dikkate almaz.
İsteğe bağlı parametreler
-
language
Sonuçların döndürüleceği dil.
- Desteklenen dillerin listesini inceleyin. Google, desteklenen dilleri sık sık güncellediğinden bu liste kapsamlı olmayabilir.
-
languagesağlanmazsa API,Accept-Languagebaşlığında belirtilen tercih edilen dili kullanmaya çalışır. - API, hem kullanıcı hem de yerel halk tarafından okunabilir bir açık adres sağlamak için elinden geleni yapar. Bu hedefi gerçekleştirmek için tercih edilen dili dikkate alarak yerel dildeki sokak adreslerini döndürür. Gerekirse bu adresler, kullanıcı tarafından okunabilir bir alfabeye çevrilir. Diğer tüm adresler tercih edilen dilde döndürülür. Adres bileşenlerinin tümü aynı dilde döndürülür. Bu dil, ilk bileşenden seçilir.
- Tercih edilen dilde ad yoksa API en yakın eşleşmeyi kullanır.
- Tercih edilen dil, API'nin döndürmeyi seçtiği sonuç kümesi ve bu sonuçların döndürülme sırası üzerinde küçük bir etkiye sahiptir. Coğrafi kodlayıcı, kısaltmaları dile göre farklı şekilde yorumlar. Örneğin, sokak türlerinin kısaltmaları veya bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlı kelimeler buna dahildir. Örneğin, Macarcada utca ve tér, sokak kelimesinin eş anlamlılarıdır.
Saat dilimi örnekleri
Bu bölümde, API'nin özelliklerini gösteren bazı örnek sorgular yer almaktadır.
Aşağıdaki sorgu, ABD'nin Nevada eyaleti için saat dilimi isteğinde bulunur. Zaman damgası 5 Aralık 2024 olarak ayarlanır.
URL
https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1733428634&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1733428634&key=YOUR_API_KEY'
JSON
{ "dstOffset": 0, "rawOffset": -28800, "status": "OK", "timeZoneId": "America/Los_Angeles", "timeZoneName": "Pacific Standard Time", }
XML
<TimeZoneResponse> <status>OK</status> <raw_offset>-28800.0000000</raw_offset> <dst_offset>0.0000000</dst_offset> <time_zone_id>America/Los_Angeles</time_zone_id> <time_zone_name>Pacific Standard Time</time_zone_name> </TimeZoneResponse>
Aşağıdaki sorgu, Nevada, ABD için bir saat dilimi isteği gerçekleştirir. Konum, yukarıdaki istekle aynı ancak zaman damgası 15 Mart 2024 olarak ayarlanmış. Yanıt artık yaz saati uygulaması telafisini içeriyor.
URL
https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1710547034&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1710547034&key=YOUR_API_KEY'
JSON
{ "dstOffset": 3600, "rawOffset": -28800, "status": "OK", "timeZoneId": "America/Los_Angeles", "timeZoneName": "Pacific Daylight Time", }
XML
<TimeZoneResponse> <status>OK</status> <raw_offset>-28800.0000000</raw_offset> <dst_offset>3600.0000000</dst_offset> <time_zone_id>America/Los_Angeles</time_zone_id> <time_zone_name>Pacific Daylight Time</time_zone_name> </TimeZoneResponse>
Bu örnek, yukarıdaki iki örneğe benzer ancak bir dil parametresi ayarlar. Yanıt artık İspanyolcaya yerelleştirilecek.
URL
https://maps.googleapis.com/maps/api/timezone/json?language=es&location=39.6034810,-119.6822510×tamp=1710547034&key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1710547034&language=es&key=YOUR_API_KEY'
JSON
{ "dstOffset": 3600, "rawOffset": -28800, "status": "OK", "timeZoneId": "America/Los_Angeles", "timeZoneName": "hora de verano del Pacífico", }
XML
<TimeZoneResponse> <status>OK</status> <raw_offset>-28800.0000000</raw_offset> <dst_offset>3600.0000000</dst_offset> <time_zone_id>America/Los_Angeles</time_zone_id> <time_zone_name>hora de verano del Pacífico</time_zone_name> </TimeZoneResponse>
Saat dilimi yanıtları
Saat dilimi, her geçerli istek için istek URL'sinde belirtilen biçimde yanıt döndürür.
TimeZoneResponse
| Alan | Zorunlu | Tür | Açıklama |
|---|---|---|---|
|
required | TimeZoneStatus | Daha fazla bilgi için TimeZoneStatus bölümüne bakın. |
|
isteğe bağlı | sayı |
Yaz saati uygulaması için saniye cinsinden uzaklık. Saat dilimi, belirtilen |
|
isteğe bağlı | dize |
Belirtilen durum kodunun nedenleri hakkında ayrıntılı bilgi.
Durum |
|
isteğe bağlı | sayı |
Belirli bir konumun UTC'ye göre uzaklığı (saniye cinsinden). Bu işlemde yaz saati uygulaması dikkate alınmaz. |
|
isteğe bağlı | dize |
Saat diliminin kimliğini içeren bir dize (ör. "America/Los_Angeles" veya "Australia/Sydney"). Bu kimlikler Unicode Common Locale Data Repository (CLDR) projesi tarafından tanımlanır ve şu anda timezone.xml dosyasında kullanılabilir. Bir saat diliminin birden fazla kimliği varsa standart olanı döndürülür. XML yanıtlarında bu, her saat diliminin ilk diğer adıdır. Örneğin, "Asia/Kolkata" yerine "Asia/Calcutta" döndürülür. |
|
isteğe bağlı | dize |
Saat diliminin uzun biçimli adı. Dil parametresi ayarlanmışsa bu alan yerelleştirilir. Örneğin:
|
TimeZoneStatus
Saat dilimi yanıt nesnesindeki status alanı, isteğin durumunu içerir. status alanı aşağıdaki değerleri içerebilir:
-
OK, isteğin başarıyla gerçekleştirildiğini gösterir. -
INVALID_REQUEST, isteğin yanlış biçimlendirildiğini gösterir. -
OVER_DAILY_LIMITaşağıdakilerden herhangi birini gösterir:- API anahtarı eksik veya geçersiz.
- Hesabınızda faturalandırma etkinleştirilmemiştir.
- Kullanıcı tarafından belirlenen kullanım sınırı aşıldı.
- Belirtilen ödeme yöntemi artık geçerli değil (örneğin, kredi kartının süresi dolmuş).
-
OVER_QUERY_LIMIT, istekte bulunanın kotayı aştığını gösterir. -
REQUEST_DENIED, API'nin isteği tamamlamadığını gösterir. İsteğin HTTP yerine HTTPS üzerinden gönderildiğini onaylayın. -
UNKNOWN_ERROR, bilinmeyen bir hatayı gösterir. -
ZERO_RESULTS, belirtilen konum veya zaman için saat dilimi verisi bulunamadığını gösterir. İsteğin su üzerinde değil, karada bir konum için olduğunu onaylayın.
Yerel saati hesaplama
Belirli bir konumun yerel saati, timestamp parametresi ile sonuçtaki dstOffset ve rawOffset alanlarının toplamıdır.