الاستعلام عن المنطقة الزمنية
المنطقة الزمنية لنقطة ما، والإزاحة السارية فيها في لحظة معينة.
GEThttps://api.mygeocode.com/v1/timezone
المعاملات
| المعامل | النوع | الوصف |
|---|---|---|
latمطلوب* | رقم | من -90 إلى 90. |
lonمطلوب | رقم | من -180 إلى 180. |
locationsاختياري | سلسلة نصية | *بديل عن lat وlon: حتى 100 نقطة بصيغة lat,lon|lat,lon|.... تُحتسب كل نقطة طلبًا واحدًا، وتحتوي الإجابة على مصفوفة results بترتيب الإدخال. |
tzاختياري | سلسلة نصية | *بديل عن الإحداثيات: معرّف منطقة IANA مثل Europe/Zurich (ويُقبل معرّف Windows أيضًا). يعيد الحقول نفسها لتلك المنطقة دون البحث في الحدود. |
timestampاختياري | عدد صحيح | توقيت Unix بالثواني. القيمة الافتراضية: الآن. تُقبل أي لحظة من 1900 إلى 2100، وتستخدم الإزاحات المستقبلية القواعد المنشورة حاليًا. |
languageاختياري | سلسلة نصية | لغة name، مثل de أو pt-BR. الافتراضية الإنجليزية. |
keyاختياري | سلسلة نصية | مفتاح API، إذا لم يُرسل في ترويسة. |
مثال
$ curl -H "X-API-Key: YOUR_KEY" "https://api.mygeocode.com/v1/timezone?lat=-33.8688&lon=151.2093×tamp=1767225600"const url = new URL("https://api.mygeocode.com/v1/timezone");
url.searchParams.set("lat", -33.8688);
url.searchParams.set("lon", 151.2093);
url.searchParams.set("timestamp", 1767225600); // 2026-01-01T00:00:00Z
const tz = await (await fetch(url, { headers: { "X-API-Key": "YOUR_KEY" } })).json();
console.log(tz.timezone, tz.utc_offset, tz.dst);import requests
tz = requests.get("https://api.mygeocode.com/v1/timezone",
params={"lat": -33.8688, "lon": 151.2093, "timestamp": 1767225600}, headers={"X-API-Key": "YOUR_KEY"}, timeout=5).json()
print(tz["timezone"], tz["utc_offset"], tz["dst"])الاستجابة
{
"status": "ok",
"lat": -33.8688,
"lon": 151.2093,
"timezone": "Australia/Sydney",
"abbreviation": "AEDT",
"utc_offset": "+11:00",
"utc_offset_seconds": 39600,
"dst": true,
"timestamp": 1767225600,
"local_time": "2026-01-01T11:00:00+11:00",
"country_code": "AU",
"next_transition": { "timestamp": 1775316000, "utc_offset": "+10:00", "dst": false }
}حقول الاستجابة
| الحقل | النوع | الوصف |
|---|---|---|
timezone | سلسلة نصية | اسم IANA. في المياه الدولية يكون Etc/GMT+n أو Etc/GMT-n (لاحظ أن اصطلاح الإشارة معكوس، كما في IANA). |
abbreviation | سلسلة نصية | الاختصار عند timestamp. للعرض فقط، وليس فريدًا. |
name | سلسلة نصية | الاسم الكامل الساري عند timestamp، مثل Australian Eastern Daylight Time. |
utc_offset | سلسلة نصية | ±HH:MM عند timestamp. |
utc_offset_seconds | عدد صحيح | القيمة نفسها كرقم. |
raw_offset_seconds, dst_offset_seconds | عدد صحيح | الإزاحة القياسية وجزء التوقيت الصيفي المضاف إليها (0 عندما لا يكون التوقيت الصيفي ساريًا). مجموعهما هو utc_offset_seconds. |
dst | منطقي | التوقيت الصيفي ساري عند timestamp. |
timestamp | عدد صحيح | اللحظة الموصوفة. |
local_time | سلسلة نصية | الوقت المحلي بصيغة RFC 3339 مع الإزاحة. |
country_code | سلسلة نصية أو null | ISO 3166-1 alpha-2، وnull في البحر. |
is_ocean | منطقي | true لمناطق Etc/GMT المستخدمة في المياه الدولية. |
windows_timezone | سلسلة نصية أو null | معرّف المنطقة الزمنية المطابق في Windows من CLDR، مثل W. Europe Standard Time. |
next_transition | كائن أو null | التغيير التالي في الإزاحة بعد timestamp، إن كان للمنطقة تغيير. |
ملاحظات
- خزّن اسم IANA وحوّل الأوقات باستخدام قاعدة بيانات tz في منصتك. استخدم حقول الإزاحة للعرض أو للأنظمة التي لا تملك مثل هذه القاعدة.
- تتبع الإزاحات وقواعد التوقيت الصيفي قاعدة بيانات المناطق الزمنية IANA، وتُحدَّث مع نشر الإصدارات الجديدة.
- الحدود مبسّطة إلى نحو 55 م، لذا قد تُنسب نقطة تقع على بعد أمتار قليلة من حدود برية إلى المنطقة المجاورة. المياه الإقليمية والمحيط المفتوح مشمولة أيضًا، وتحصل النقاط البعيدة عن الساحل على المنطقة البحرية (
Etc/GMT+3وما شابه).
الاستعلام نفسه بصيغ المزوّدين الآخرين
إذا كان لديك كود مكتوب بالفعل لأحد هؤلاء المزوّدين فاحتفظ به: يقبل المضيف البديل المتوافق المسار والمعاملات نفسها ويجيب بشكل استجابة ذلك المزوّد، وخلفه نقطة النهاية هذه. راجع كيف تعمل المضيفات البديلة المتوافقة.
| المزوّد | المضيف | المسار |
|---|---|---|
| منصة Google Maps Platform | gapi.mygeocode.com | /maps/api/timezone/json?location=lat,lng×tamp=...&language=.. |
| خدمات Bing Maps REST | bing.mygeocode.com | /REST/v1/TimeZone/{lat},{lon}?datetime=.../REST/v1/TimeZone/?query=lat,lon/REST/v1/TimeZone/List?timezoneStandard=iana|windows/REST/v1/TimeZone/Convert?datetime=...&fromtz=...&desttz=... |
| LocationIQ | locationiq.mygeocode.com | /v1/timezone?lat=...&lon=... |
الأخطاء
400 invalid_request عندما يكون lat أو lon مفقودًا أو خارج النطاق، أو لا يكون tz منطقة معروفة، أو يزيد عدد النقاط على 100، أو يقع timestamp خارج النطاق من 1900 إلى 2100. 503 unavailable عندما لا تكون بيانات الحدود محمّلة، ولا يُحتسب شيء.