Saat Dilimi Dönüşümü Nedir?
Bir saat dilimi dönüştürücü, belirli bir tarih ve saati bir zaman diliminden diğerine çevirerek dünyanın herhangi bir yerindeki karşılığını anında gösterir. Dünya, her biri Koordineli Evrensel Zaman'dan (UTC) sabit bir uzaklık olarak tanımlanan 24 temel saat dilimine bölünmüştür. Saat UTC 14:00 olduğunda, New York'ta 09:00 (UTC-5) ve Tokyo'da 23:00 (UTC+9) olur. Saat dilimleri arasında doğru dönüşüm yapabilmek için hem kaynak hem hedef dilimin UTC uzaklığını ve her ikisinde de yaz saati uygulamasının (DST) geçerli olup olmadığını bilmek gerekir.
IANA Zaman Dilimi Veritabanı (Olson veritabanı veya tz veritabanı olarak da bilinir), işletim sistemleri, programlama dilleri ve web tarayıcılarının kullandığı standart saat dilimi tanımları kaynağıdır. Her bölgeye America/New_York veya Asia/Tokyo gibi Bölge/Şehir biçiminde kanonik bir tanımlayıcı atar. EST veya PST gibi sabit kısaltmaların aksine, IANA tanımlayıcıları her bölge için UTC uzaklık değişikliklerinin ve DST geçişlerinin tam geçmişini kodlar; bu da geçmişteki veya gelecekteki tarihlerde doğru dönüşüm yapmanın tek güvenilir yolunu oluşturur.
Bu saat dilimi dönüştürücü, tarayıcınızın JavaScript motoruna Intl API aracılığıyla yerleşik IANA zaman dilimi verilerini kullanır. Bir kaynak saat dilimi seçip tarih ve saat girersiniz; araç, yaz saati düzenlemelerini de kapsayacak şekilde hedef saat dilimindeki karşılığı anında hesaplar. Tamamen tarayıcınızda çalıştığından sunucuya gidiş-dönüş olmaz ve hiçbir veri cihazınızdan çıkmaz.
Bu Saat Dilimi Dönüştürücüyü Neden Kullanmalısınız?
Elle yapılan saat dilimi hesaplamaları, özellikle yaz saati uygulaması devredeyken hata yapmaya açıktır. Ocak ayında UTC-5 olan bir şehir, Temmuz'da UTC-4 olabilir; üstelik geçiş tarihleri ülkeden ülkeye farklılık gösterir. Amerika Birleşik Devletleri ile Avrupa saatlerini farklı pazar günlerinde değiştirir; bu durum, New York ile Londra arasındaki zaman farkının yılın geri kalanından farklı olduğu iki haftalık bir pencere yaratır. Bu araç, işletim sisteminizin kullandığı IANA veritabanını kullanarak söz konusu geçişleri otomatik olarak yönetir.
Saat Dilimi Dönüştürücü Kullanım Senaryoları
IANA Saat Dilimi Başvurusu
IANA Zaman Dilimi Veritabanı 400'den fazla saat dilimi tanımlayıcısı içerir ve siyasi değişiklikleri, yeni DST kurallarını ve geçmişe yönelik düzeltmeleri yansıtmak amacıyla yılda birkaç kez güncellenir. Aşağıdaki tablo, en yaygın kullanılan saat dilimlerini standart UTC uzaklıkları ve DST davranışlarıyla birlikte listeler. Gösterilen uzaklıklar standart saat içindir; DST sütunu, ilgili bölgede yaz saati uygulaması devredeyken geçerli olan düzenlenmiş uzaklığı gösterir.
| IANA Tanımlayıcısı | Yaygın Ad | UTC Uzaklığı | 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) |
Kod Örnekleri
Tüm büyük programlama dilleri, IANA veritabanı aracılığıyla saat dilimi dönüşümü sağlar. Aşağıdaki örnekler, bir UTC zaman damgasını diğer saat dilimlerine nasıl dönüştüreceğinizi gösterir: Intl API ile JavaScript, zoneinfo modülü ile Python, time paketi ile Go ve kabuk betikleri için GNU date komutu.
// 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