টাইমজোন রূপান্তর কী?
টাইমজোন কনভার্টার একটি তারিখ ও সময়কে এক সময় অঞ্চল থেকে অন্য সময় অঞ্চলে রূপান্তর করে, যাতে আপনি বিশ্বের যেকোনো স্থানে সমতুল্য সময় তাৎক্ষণিকভাবে দেখতে পারেন। বিশ্বকে ২৪টি প্রাথমিক সময় অঞ্চলে ভাগ করা হয়েছে, প্রতিটি কোঅর্ডিনেটেড ইউনিভার্সাল টাইম (UTC) থেকে একটি নির্দিষ্ট অফসেট হিসেবে সংজ্ঞায়িত। যখন UTC সময় ১৪:০০, তখন ঢাকায় ২০:০০ (UTC+6) এবং টোকিওতে ২৩:০০ (UTC+9)। সময় অঞ্চলের মধ্যে সঠিকভাবে রূপান্তর করতে উৎস ও গন্তব্য উভয় অঞ্চলের UTC অফসেট এবং ডেলাইট সেভিং টাইম (DST) কার্যকর কিনা তা জানতে হয়।
IANA টাইম জোন ডেটাবেস (প্রায়ই Olson ডেটাবেস বা tz ডেটাবেস বলা হয়) অপারেটিং সিস্টেম, প্রোগ্রামিং ভাষা ও ওয়েব ব্রাউজারে ব্যবহৃত টাইমজোন সংজ্ঞার মানক উৎস। এটি প্রতিটি অঞ্চলে Region/City ফরম্যাটে একটি আদর্শ পরিচয় নির্ধারণ করে, যেমন America/New_York বা Asia/Dhaka। EST বা PST-এর মতো নির্দিষ্ট সংক্ষেপণের বিপরীতে, IANA আইডেন্টিফায়ারগুলো প্রতিটি অঞ্চলের UTC অফসেট পরিবর্তন ও DST রূপান্তরের সম্পূর্ণ ইতিহাস ধারণ করে, যা অতীত বা ভবিষ্যতের যেকোনো তারিখে সময় রূপান্তরের একমাত্র নির্ভরযোগ্য উপায়।
এই টাইমজোন কনভার্টার আপনার ব্রাউজারের JavaScript ইঞ্জিনে Intl API-এর মাধ্যমে অন্তর্নির্মিত IANA টাইমজোন ডেটা ব্যবহার করে। আপনি একটি উৎস টাইমজোন বেছে নিন, তারিখ ও সময় প্রবেশ করান, এবং টুলটি তাৎক্ষণিকভাবে আপনার গন্তব্য টাইমজোনে সমতুল্য সময় গণনা করে — ডেলাইট সেভিং সমন্বয় সহ। এটি সম্পূর্ণ আপনার ব্রাউজারেই চলে, তাই কোনো সার্ভারে অনুরোধ যায় না এবং কোনো তথ্য আপনার ডিভাইস ছেড়ে যায় না।
এই টাইমজোন কনভার্টার কেন ব্যবহার করবেন?
হাতে টাইমজোনের হিসাব করা ত্রুটিপ্রবণ, বিশেষত ডেলাইট সেভিং টাইম যুক্ত হলে। জানুয়ারিতে যে শহর UTC-5, জুলাইতে সেটি UTC-4 হতে পারে, এবং রূপান্তরের তারিখ দেশভেদে ভিন্ন। যুক্তরাষ্ট্র ও ইউরোপ ভিন্ন রবিবারে ঘড়ি পরিবর্তন করে, ফলে দুই সপ্তাহের একটি সময়সীমায় নিউইয়র্ক ও লন্ডনের মধ্যে অফসেট বছরের বাকি সময়ের চেয়ে আলাদা থাকে। এই টুল সেই সমস্ত রূপান্তর স্বয়ংক্রিয়ভাবে পরিচালনা করে — আপনার অপারেটিং সিস্টেম যে IANA ডেটাবেস ব্যবহার করে সেটাই ব্যবহার করে।
টাইমজোন কনভার্টারের ব্যবহারের ক্ষেত্র
IANA টাইমজোন রেফারেন্স
IANA টাইম জোন ডেটাবেসে ৪০০-এরও বেশি টাইমজোন পরিচয়ক সংজ্ঞায়িত করা আছে, এবং রাজনৈতিক পরিবর্তন, নতুন DST নিয়ম ও ঐতিহাসিক সংশোধন প্রতিফলিত করতে বছরে কয়েকবার আপডেট হয়। নিচের সারণিতে সর্বাধিক ব্যবহৃত অঞ্চলগুলো তাদের আদর্শ UTC অফসেট ও DST আচরণ সহ তালিকাভুক্ত করা হয়েছে। দেখানো অফসেটগুলো আদর্শ সময়ের জন্য; DST কলাম সেই অঞ্চলে ডেলাইট সেভিং কার্যকর থাকলে সমন্বিত অফসেট দেখায়।
| IANA পরিচয়ক | প্রচলিত নাম | UTC অফসেট | DST |
|---|---|---|---|
| UTC | Coordinated Universal Time | +00:00 | No |
| America/New_York | Eastern Time (US) | -05:00 | Yes (EDT -04:00) |
| America/Chicago | Central Time (US) | -06:00 | Yes (CDT -05:00) |
| America/Denver | Mountain Time (US) | -07:00 | Yes (MDT -06:00) |
| America/Los_Angeles | Pacific Time (US) | -08:00 | Yes (PDT -07:00) |
| Europe/London | Greenwich Mean Time | +00:00 | Yes (BST +01:00) |
| Europe/Berlin | Central European Time | +01:00 | Yes (CEST +02:00) |
| Europe/Moscow | Moscow Time | +03:00 | No |
| Asia/Dubai | Gulf Standard Time | +04:00 | No |
| Asia/Kolkata | India Standard Time | +05:30 | No |
| Asia/Shanghai | China Standard Time | +08:00 | No |
| Asia/Tokyo | Japan Standard Time | +09:00 | No |
| Australia/Sydney | Australian Eastern Time | +10:00 | Yes (AEDT +11:00) |
| Pacific/Auckland | New Zealand Standard Time | +12:00 | Yes (NZDT +13:00) |
কোড উদাহরণ
প্রতিটি প্রধান প্রোগ্রামিং ভাষা IANA ডেটাবেসের মাধ্যমে টাইমজোন রূপান্তর সরবরাহ করে। নিচের উদাহরণগুলোতে Intl API ব্যবহার করে JavaScript-এ, zoneinfo মডিউল ব্যবহার করে Python-এ, time প্যাকেজ ব্যবহার করে Go-তে, এবং শেল স্ক্রিপ্টের জন্য GNU date কমান্ডে একটি UTC টাইমস্ট্যাম্পকে অন্য টাইমজোনে রূপান্তর করা দেখানো হয়েছে।
// Convert a date from one timezone to another
const date = new Date('2026-03-15T09:00:00Z')
// Format in specific timezone
const nyTime = date.toLocaleString('en-US', { timeZone: 'America/New_York' })
// → "3/15/2026, 5:00:00 AM"
const tokyoTime = date.toLocaleString('en-US', { timeZone: 'Asia/Tokyo' })
// → "3/15/2026, 6:00:00 PM"
// Get the UTC offset for a timezone programmatically
function getUtcOffset(tz: string, date = new Date()) {
const fmt = new Intl.DateTimeFormat('en-US', {
timeZone: tz,
timeZoneName: 'longOffset',
})
const parts = fmt.formatToParts(date)
return parts.find(p => p.type === 'timeZoneName')?.value ?? ''
}
getUtcOffset('Asia/Kolkata') // → "GMT+05:30"from datetime import datetime
from zoneinfo import ZoneInfo
# Create a timezone-aware datetime
dt = datetime(2026, 3, 15, 9, 0, tzinfo=ZoneInfo('UTC'))
# Convert to New York time
ny = dt.astimezone(ZoneInfo('America/New_York'))
print(ny) # → 2026-03-15 05:00:00-04:00 (EDT in March)
# Convert to Tokyo time
tokyo = dt.astimezone(ZoneInfo('Asia/Tokyo'))
print(tokyo) # → 2026-03-15 18:00:00+09:00
# Get current time in any timezone
now_berlin = datetime.now(ZoneInfo('Europe/Berlin'))
print(now_berlin.strftime('%Y-%m-%d %H:%M %Z')) # → 2026-03-15 10:00 CETpackage main
import (
"fmt"
"time"
)
func main() {
utc := time.Date(2026, 3, 15, 9, 0, 0, 0, time.UTC)
// Load timezone by IANA name
ny, _ := time.LoadLocation("America/New_York")
tokyo, _ := time.LoadLocation("Asia/Tokyo")
fmt.Println(utc.In(ny)) // → 2026-03-15 05:00:00 -0400 EDT
fmt.Println(utc.In(tokyo)) // → 2026-03-15 18:00:00 +0900 JST
// Get the UTC offset in seconds
_, offset := utc.In(ny).Zone()
fmt.Printf("UTC offset: %+d hours\n", offset/3600) // → UTC offset: -4 hours
}# Display current time in a specific timezone TZ='Asia/Tokyo' date '+%Y-%m-%d %H:%M:%S %Z' # → 2026-03-15 18:00:00 JST # Convert a UTC timestamp to another timezone TZ='America/Los_Angeles' date -d '2026-03-15T09:00:00Z' '+%Y-%m-%d %H:%M %Z' # → 2026-03-15 02:00 PDT # List all available IANA timezone names timedatectl list-timezones | head -20