টাইম জোন সংক্রান্ত অনুরোধ ও উত্তর

সময় অঞ্চল

Time Zone API অনুরোধ URL স্ট্রিং হিসেবে তৈরি করা হয়। API, অক্ষাংশ-দ্রাঘিমাংশ জোড়া দ্বারা নির্দিষ্ট করা পৃথিবীর একটি বিন্দুর জন্য টাইম জোন ডেটা প্রদান করে। মনে রাখবেন যে মহাসাগর বা সমুদ্রের মতো জলভাগের উপরে থাকা লোকেশনের জন্য টাইম জোন ডেটা উপলভ্য নাও হতে পারে।

টাইম জোন সংক্রান্ত অনুরোধের ফর্মটি এইরকম দেখতে হয়:

https://maps.googleapis.com/maps/api/timezone/outputFormat?parameters

যেখানে outputFormat নিম্নলিখিত মানগুলির মধ্যে যেকোনও একটি হতে পারে:

প্রয়োজনীয় প্যারামিটার

লোকেশন

কমা দিয়ে আলাদা করা অক্ষাংশ,দ্রাঘিমাংশ টাপল, location=39.6034810,-119.6822510, যা লোকেশন খোঁজার জন্য ব্যবহার করা হয়।

টাইমস্ট্যাম্প

১ জানুয়ারি, ১৯৭০ UTC মধ্যরাত থেকে সেকেন্ডে দেখানো সময়। Time Zone API timestamp ব্যবহার করে নির্ধারণ করে যে ডেলাইট সেভিংস প্রয়োগ করা উচিত কিনা, location-এর টাইম জোনের উপর ভিত্তি করে।

মনে রাখবেন যে API পুরনো টাইম জোন বিবেচনা করে না। অর্থাৎ, আপনি যদি অতীতের কোনও টাইমস্ট্যাম্প উল্লেখ করেন, তাহলে API এই সম্ভাবনা বিবেচনা করে না যে লোকেশনটি আগে অন্য টাইম জোনে ছিল।

ঐচ্ছিক প্যারামিটার

ভাষা

যে ভাষায় ফলাফল দেখানো হবে।

  • অনুমোদিত ভাষার তালিকা দেখুন। Google প্রায়ই কাজ করে এমন ভাষার তালিকা আপডেট করে, তাই এই তালিকা সম্পূর্ণ নাও হতে পারে।
  • language প্রদান করা না হলে, API Accept-Language হেডারে উল্লেখ করা পছন্দের ভাষা ব্যবহার করার চেষ্টা করে।
  • API এমন রাস্তার ঠিকানা প্রদান করার যথাসাধ্য চেষ্টা করে যা ব্যবহারকারী ও স্থানীয় লোকজন উভয়ের জন্যই বোধগম্য হয়। এই লক্ষ্য পূরণ করতে, এটি স্থানীয় ভাষায় রাস্তার ঠিকানা ফেরত পাঠায়, যা ব্যবহারকারীর পছন্দের ভাষা অনুযায়ী, প্রয়োজনে ব্যবহারকারীর পড়ার উপযোগী স্ক্রিপ্টে লিপ্যন্তর করা হয়। অন্যান্য সব ঠিকানা পছন্দের ভাষায় দেখানো হয়। ঠিকানার সব কম্পোনেন্ট একই ভাষায় দেখানো হয়, যা প্রথম কম্পোনেন্ট থেকে বেছে নেওয়া হয়।
  • পছন্দের ভাষায় কোনও নাম উপলভ্য না থাকলে, API সবচেয়ে কাছাকাছি ম্যাচ ব্যবহার করে।
  • API যে ফলাফল দেখায় এবং যে ক্রমে দেখায়, তার উপর পছন্দের ভাষার সামান্য প্রভাব থাকে। জিওকোডার ভাষার উপর নির্ভর করে সংক্ষিপ্ত রূপকে ভিন্নভাবে ব্যাখ্যা করে, যেমন রাস্তার প্রকারের সংক্ষিপ্ত রূপ বা সমার্থক শব্দ যা একটি ভাষায় বৈধ হতে পারে কিন্তু অন্য ভাষায় নয়। যেমন, হাঙ্গেরিয়ান ভাষায় utca এবং tér হল রাস্তার সমার্থক শব্দ।

টাইম জোনের উদাহরণ

এই বিভাগে কিছু স্যাম্পেল কোয়েরি আছে যা API-এর ফিচার দেখায়।

নিচের কোয়েরিটি মার্কিন যুক্তরাষ্ট্রের নেভাদার জন্য টাইম জোন সংক্রান্ত অনুরোধ করে। টাইমস্ট্যাম্প ৫ ডিসেম্বর, ২০২৪-এ সেট করা হয়েছে।

ইউআরএল

https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=1733428634&key=YOUR_API_KEY

কার্ল

curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=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&timestamp=1710547034&key=YOUR_API_KEY

কার্ল

curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=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&timestamp=1710547034&key=YOUR_API_KEY

কার্ল

curl -L -X GET 'https://maps.googleapis.com/maps/api/timezone/json?location=39.6034810,-119.6822510&timestamp=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 দেখুন।
ঐচ্ছিক নম্বর

ডেলাইট সেভিং টাইমের জন্য অফসেট সেকেন্ডে। নির্দিষ্ট timestamp-এর সময় টাইম জোন ডেলাইট সেভিংস টাইমে না থাকলে এটি শূন্য হবে।

ঐচ্ছিক স্ট্রিং

প্রদত্ত স্ট্যাটাস কোডের কারণ সম্পর্কে বিস্তারিত তথ্য। স্ট্যাটাস Ok ছাড়া অন্য কিছু হলে অন্তর্ভুক্ত করা হয়।

ঐচ্ছিক নম্বর

প্রদত্ত লোকেশনের জন্য UTC থেকে অফসেট (সেকেন্ডে)। এটি ডেলাইট সেভিংসের উপর কোনও প্রভাব ফেলে না।

ঐচ্ছিক স্ট্রিং

একটি স্ট্রিং যাতে টাইম জোনের আইডি থাকে, যেমন "America/Los_Angeles" বা "Australia/Sydney"। এইসব আইডি Unicode Common Locale Data Repository (CLDR) প্রোজেক্ট দ্বারা সংজ্ঞায়িত এবং বর্তমানে timezone.xml ফাইলে উপলভ্য। কোনও টাইমজোনের একাধিক আইডি থাকলে, ক্যানোনিকাল আইডিটি দেখানো হয়। xml উত্তরে, এটি প্রতিটি টাইমজোনের প্রথম উপনাম। যেমন, "Asia/Calcutta" ফেরত পাঠানো হয়, "Asia/Kolkata" নয়।

ঐচ্ছিক স্ট্রিং

টাইম জোনের সম্পূর্ণ নাম। ভাষার প্যারামিটার সেট করা থাকলে, এই ফিল্ড স্থানীয়করণ করা হবে। যেমন, Pacific Daylight Time অথবা Australian Eastern Daylight Time।

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 ফিল্ডের যোগফল।