সময় অঞ্চল
URL স্ট্রিং হিসেবে Time Zone API অনুরোধ তৈরি করা হয়। API, অক্ষাংশ-দ্রাঘিমাংশের পেয়ার দ্বারা নির্দিষ্ট করা পৃথিবীর কোনও পয়েন্টের জন্য টাইম জোন ডেটা রিটার্ন করে। মনে রাখবেন, সমুদ্র বা মহাসাগরের মতো জলের উপরে থাকা লোকেশনের জন্য টাইম জোন ডেটা উপলভ্য নাও থাকতে পারে।
টাইম জোনের অনুরোধ নিম্নলিখিত ফর্ম পূরণ করে জানাতে হয়:
https://maps.googleapis.com/maps/api/timezone/outputFormat?parameters
যেখানে outputFormat নিম্নলিখিত মানগুলির মধ্যে যেকোনও একটি হতে পারে:
json(সাজেস্ট করা), এর মাধ্যমে আউটপুট জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন (JSON) হিসেবে দেখানো হয়; অথবাxml, XML-এ আউটপুট নির্দেশ করে, যা একটি<TimeZoneResponse>নোডের মধ্যে র্যাপ করা থাকে।
মনে রাখবেন: URL-কে সঠিক হতে হলে সঠিকভাবে এনকোড করা হতে হবে এবং সব ওয়েব পরিষেবার ক্ষেত্রে এর দৈর্ঘ্য ১৬৩৮৪ অক্ষরের মধ্যে সীমাবদ্ধ থাকে। URL তৈরি করার সময় এই সীমা সম্পর্কে সচেতন থাকুন। মনে রাখবেন, বিভিন্ন ব্রাউজার, প্রক্সি ও সার্ভারেও URL অক্ষরের সীমা আলাদা আলাদা হতে পারে।
প্রয়োজনীয় প্যারামিটার
-
লোকেশন
কমা দিয়ে আলাদা করা অক্ষাংশ,দ্রাঘিমাংশ টাপল,
location=39.6034810,-119.6822510, যা লোকেশন খোঁজার জন্য ব্যবহার করা হয়। -
টাইমস্ট্যাম্প
১ জানুয়ারি, ১৯৭০ UTC-এর মধ্যরাত থেকে সেকেন্ডে হিসেবে অভিপ্রেত সময়। Time Zone API
timestampব্যবহার করে নির্ধারণ করে যে ডেলাইট সেভিংস প্রয়োগ করা উচিত কিনা,location-এর টাইম জোনের উপর ভিত্তি করে।মনে রাখবেন, API পুরনো টাইম জোন বিবেচনা করে না। অর্থাৎ, আপনি যদি অতীতের কোনও টাইমস্ট্যাম্প উল্লেখ করেন, তাহলে API এই সম্ভাবনা বিবেচনা করে না যে লোকেশনটি আগে অন্য টাইম জোনে ছিল।
ঐচ্ছিক প্যারামিটার
-
ভাষা
ফলাফল যে ভাষায় দেখানো হবে।
- কাজ করে এমন ভাষার তালিকা দেখুন। Google প্রায়ই যেসব ভাষা কাজ করে সেগুলির তালিকা আপডেট করে, তাই এই তালিকা সম্পূর্ণ নাও হতে পারে।
-
languageপ্রদান করা না হলে, APIAccept-Languageহেডার থেকে পাওয়া পছন্দের ভাষা ব্যবহার করার চেষ্টা করে। - ব্যবহারকারী ও স্থানীয় লোকজন, উভয়ের কাছেই বোধগম্য হয় এমন রাস্তার ঠিকানা প্রদান করার জন্য API যথাসাধ্য চেষ্টা করে। সেই লক্ষ্য পূরণ করতে, এটি স্থানীয় ভাষায় রাস্তার ঠিকানা রিটার্ন করে, প্রয়োজন হলে ব্যবহারকারীর পড়ার মতো স্ক্রিপ্টে ট্রান্সলিটারেট করে এবং পছন্দের ভাষা মেনে চলে। অন্যান্য সব ঠিকানা পছন্দের ভাষায় দেখানো হয়। ঠিকানার সব কম্পোনেন্ট একই ভাষায় দেখানো হয়, যা প্রথম কম্পোনেন্ট থেকে বেছে নেওয়া হয়।
- পছন্দের ভাষায় কোনও নাম উপলভ্য না থাকলে, API সবচেয়ে কাছাকাছি ম্যাচ ব্যবহার করে।
- API যে ফলাফলগুলি রিটার্ন করার জন্য বেছে নেয় এবং সেগুলি যে ক্রমে রিটার্ন করা হয়, সেগুলির সেটের উপর পছন্দের ভাষার সামান্য প্রভাব পড়ে। ভাষা অনুযায়ী জিওকোডার সংক্ষিপ্ত শব্দ আলাদাভাবে ব্যাখ্যা করে, যেমন, রাস্তার ধরনের সংক্ষিপ্ত শব্দ বা সমার্থক শব্দ যা একটি ভাষায় বৈধ হতে পারে কিন্তু অন্য ভাষায় নয়। যেমন, utca এবং tér হল হাঙ্গেরিয়ান ভাষায় রাস্তার সমার্থক শব্দ।
টাইম জোন সংক্রান্ত উদাহরণ
এই বিভাগে API-এর ফিচারগুলি ডেমোনস্ট্রেট করে এমন কিছু নমুনা কোয়েরি অন্তর্ভুক্ত রয়েছে।
নিচের কোয়েরিটি মার্কিন যুক্তরাষ্ট্রের নেভাদার জন্য টাইম জোন সংক্রান্ত অনুরোধ করে। টাইমস্ট্যাম্পটি ৫ ডিসেম্বর, ২০২৪-এ সেট করা হয়েছে।
ইউআরএল
https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1733428634&key=YOUR_API_KEY
কার্ল
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>
নিচের কোয়েরিটি মার্কিন যুক্তরাষ্ট্রের নেভাদার জন্য টাইম জোন সংক্রান্ত অনুরোধ করে। লোকেশনটি উপরের অনুরোধের মতোই, কিন্তু টাইমস্ট্যাম্পটি ১৫ মার্চ, ২০২৪ হিসেবে সেট করা হয়েছে। উত্তরে এখন ডেলাইট সেভিংস টাইম অফসেট অন্তর্ভুক্ত করা হয়েছে।
ইউআরএল
https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510×tamp=1710547034&key=YOUR_API_KEY
কার্ল
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>
এই উদাহরণটি উপরের দুটির মতোই, তবে এতে একটি ভাষা প্যারামিটার সেট করা আছে। উত্তরটি এখন স্প্যানিশ ভাষায় লোকালাইজ করা হবে।
ইউআরএল
https://maps.googleapis.com/maps/api/timezone/json?language=es&location=39.6034810,-119.6822510×tamp=1710547034&key=YOUR_API_KEY
কার্ল
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>
টাইম জোন সংক্রান্ত উত্তর
প্রতিটি সঠিক অনুরোধের জন্য, টাইম জোন অনুরোধের URL-এ উল্লেখ করা ফর্ম্যাটে উত্তর দেয়।
TimeZoneResponse
| ফিল্ড | প্রয়োজনীয় | ধরন | বিবরণ |
|---|---|---|---|
|
প্রয়োজনীয় | TimeZoneStatus | আরও তথ্যের জন্য TimeZoneStatus দেখুন। |
|
ঐচ্ছিক | নম্বর |
ডেলাইট সেভিং টাইমের জন্য অফসেট সেকেন্ডে। নির্দিষ্ট |
|
ঐচ্ছিক | স্ট্রিং |
প্রদত্ত স্ট্যাটাস কোডের কারণ সম্পর্কে বিস্তারিত তথ্য।
স্ট্যাটাস |
|
ঐচ্ছিক | নম্বর |
প্রদত্ত লোকেশনের জন্য UTC থেকে অফসেট (সেকেন্ডে)। এটি ডেলাইট সেভিং টাইমকে বিবেচনা করে না। |
|
ঐচ্ছিক | স্ট্রিং |
টাইম জোনের আইডি সহ স্ট্রিং, যেমন "America/Los_Angeles" বা "Australia/Sydney"। এইসব আইডি Unicode Common Locale Data Repository (CLDR) প্রোজেক্ট দ্বারা সংজ্ঞায়িত করা হয় এবং বর্তমানে timezone.xml ফাইলে উপলভ্য। কোনও টাইমজোনের একাধিক আইডি থাকলে, ক্যাননিক্যাল আইডিটি রিটার্ন করা হয়। xml উত্তরে, এটি হল প্রতিটি টাইমজোনের প্রথম ছদ্মনাম। যেমন, "Asia/Calcutta" ফেরত পাঠানো হয়, "Asia/Kolkata" নয়। |
|
ঐচ্ছিক | স্ট্রিং |
টাইম জোনের সম্পূর্ণ নাম। ভাষা প্যারামিটার সেট করা থাকলে এই ফিল্ডটি স্থানীয়করণ করা হবে।
যেমন,
|
TimeZoneStatus
টাইম জোন রেসপন্স অবজেক্টের মধ্যে status ফিল্ডে
অনুরোধের স্ট্যাটাস থাকে। status ফিল্ডে নিম্নলিখিত
মান থাকতে পারে:
-
OKথেকে বোঝা যায় যে অনুরোধটি সফল হয়েছে। -
INVALID_REQUESTথেকে বোঝা যায় যে অনুরোধটি ভুল ফর্ম্যাটে করা হয়েছে। -
OVER_DAILY_LIMITনিম্নলিখিতগুলির মধ্যে যেকোনও একটিকে বোঝায়:- API কী নেই বা ভুল আছে।
- আপনার অ্যাকাউন্টে বিলিং চালু করা হয়নি।
- নিজের সেট করা ব্যবহারের সীমা পেরিয়ে গেছেন।
- প্রদান করা পেমেন্ট পদ্ধতি আর বৈধ নেই (যেমন, ক্রেডিট কার্ডের মেয়াদ শেষ হয়ে গেছে)।
-
OVER_QUERY_LIMITথেকে বোঝা যায় যে অনুরোধকারী কোটা পেরিয়ে গেছেন। -
REQUEST_DENIEDথেকে বোঝা যায় যে API অনুরোধটি সম্পূর্ণ করতে পারেনি। অনুরোধটি HTTP-র পরিবর্তে HTTPS-এর মাধ্যমে পাঠানো হয়েছে কিনা তা কনফার্ম করুন। -
UNKNOWN_ERRORচিহ্নটি কোনও অজানা সমস্যার ইঙ্গিত দেয়। -
ZERO_RESULTSথেকে বোঝা যায় যে নির্দিষ্ট পজিশন বা সময়ের জন্য কোনও টাইম জোন ডেটা পাওয়া যায়নি। অনুরোধটি যেন স্থলভাগের লোকেশনের জন্য হয়, জলের উপরে যেন না হয় তা নিশ্চিত করুন।
স্থানীয় সময় গণনা করা হচ্ছে
কোনও লোকেশনের স্থানীয় সময় হল
timestamp প্যারামিটার এবং ফলাফলে থাকা dstOffset ও
rawOffset ফিল্ডের যোগফল।