Bilgisayar sistemlerinde tarih ve saat yönetimi, görünürdeki basitliğine rağmen karmaşık bir konudur. Zaman dilimleri, yaz saati uygulamaları, farklı takvim sistemleri ve biçim standartları bu karmaşıklığın temel nedenleridir. Tüm bu sorunlara evrensel bir çözüm olarak Unix timestamp (epoch time) geliştirilmiştir.
Unix Timestamp (Epoch) Nedir?
Unix timestamp, 1 Ocak 1970 00:00:00 UTC tarihinden itibaren geçen saniye sayısını temsil eden bir tam sayıdır. Bu başlangıç anına "Unix Epoch" denir.
# Örnekler
0 → 1 Ocak 1970 00:00:00 UTC
1000000000 → 9 Eylül 2001 01:46:40 UTC
1700000000 → 14 Kasım 2023 22:13:20 UTC
1735689600 → 1 Ocak 2025 00:00:00 UTC
Unix timestamp'in avantajları:
- Evrensel: Zaman dilimi bağımsızdır (her zaman UTC)
- Karşılaştırma kolaylığı: İki tarih arasındaki fark basit çıkarma işlemiyle bulunur
- Sıralama: Sayısal değer olduğu için doğal sıralama yapılabilir
- Depolama verimliliği: Tek bir tam sayı, herhangi bir tarih formatından daha az yer kaplar
Milisaniye vs Saniye
JavaScript Date.now() milisaniye cinsinden, çoğu Unix sistemi ise saniye cinsinden timestamp döndürür:
// JavaScript — milisaniye
Date.now() // 1700000000000 (13 haneli)
// Unix/Python — saniye
import time
time.time() // 1700000000.0 (10 haneli)
// Dönüşüm
saniye = milisaniye / 1000
milisaniye = saniye * 1000
ISO 8601 Formatı
Uluslararası standart tarih-saat formatıdır. API'lerde ve veri alışverişinde en çok tercih edilen biçimdir:
# Yalnızca tarih
2025-11-05
# Tarih ve saat (UTC)
2025-11-05T14:30:00Z
# Tarih ve saat (zaman dilimi ile)
2025-11-05T17:30:00+03:00
# Tarih, saat ve milisaniye
2025-11-05T14:30:00.123Z
ISO 8601'in önemli özellikleri:
- Büyükten küçüğe sıralama: yıl → ay → gün → saat → dakika → saniye
Tharfi tarih ile saati ayırırZharfi UTC (Zulu time) anlamına gelir+03:00gibi ofsetler zaman dilimini belirtir
RFC 2822 Formatı
E-posta başlıklarında ve bazı HTTP başlıklarında kullanılan formattır:
Wed, 05 Nov 2025 14:30:00 +0000
Fri, 28 Nov 2025 09:15:30 +0300
İnsan tarafından okunabilir olması avantajdır, ancak dile bağımlı kısaltmalar (Wed, Nov) içerdiği için uluslararası projelerde ISO 8601 tercih edilir.
Formatlar Arası Dönüşüm
// JavaScript'te dönüşüm örnekleri
const timestamp = 1700000000;
const date = new Date(timestamp * 1000);
// ISO 8601
date.toISOString()
// "2023-11-14T22:13:20.000Z"
// Yerel format (Türkçe)
date.toLocaleDateString('tr-TR', {
year: 'numeric', month: 'long', day: 'numeric'
})
// "14 Kasım 2023"
// Unix timestamp'e geri dönüş
Math.floor(date.getTime() / 1000)
// 1700000000
Zaman Dilimi Yönetimi
Zaman dilimleri, tarih-saat yönetiminin en zorlu kısmıdır:
- UTC'de saklayın: Veritabanında tarihleri her zaman UTC olarak depolayın
- Yerel zamana dönüştürün: Kullanıcıya gösterimde yerel zaman dilimine çevirin
- IANA zaman dilimi adları kullanın: "Europe/Istanbul" gibi adlar, UTC+3 gibi sabit ofsetlerden daha güvenilirdir (yaz saati değişikliklerini hesaba katar)
- Yaz saati uygulamasına dikkat edin: Bazı ülkeler saatleri ileri/geri alır, bu da aynı UTC ofsetinin yıl boyunca geçerli olmaması demektir
// Zaman dilimi dönüşümü
const date = new Date('2025-11-05T12:00:00Z');
// Türkiye saati (UTC+3)
date.toLocaleString('tr-TR', { timeZone: 'Europe/Istanbul' })
// "5.11.2025 15:00:00"
// New York saati (UTC-5 / UTC-4 yaz saati)
date.toLocaleString('en-US', { timeZone: 'America/New_York' })
// "11/5/2025, 7:00:00 AM"
Y2K38 Sorunu
32-bit sistemlerde Unix timestamp, işaretli (signed) 32-bit tam sayı olarak saklanır. Bu veri tipinin maksimum değeri 2.147.483.647'dir ve bu değer 19 Ocak 2038 03:14:07 UTC tarihine karşılık gelir. Bu andan sonra sayaç taşar ve negatif değere döner — bu da 1901 yılına karşılık gelir.
Çözüm olarak modern sistemler 64-bit timestamp kullanır. 64-bit timestamp, evrenin tahmini ömründen çok daha ileriye kadar tarihleri temsil edebilir. Ancak eski gömülü sistemler, veritabanları ve yazılımlar hâlâ risk altında olabilir.
Tarih ve timestamp dönüşümlerini hızlıca yapmak mı istiyorsunuz? SiteScripti'nin Epoch Converter ve Tarih Dönüştürücü araçlarıyla Unix timestamp, ISO 8601 ve diğer formatlar arasında kolayca dönüşüm yapın.
Bu konuyla ilgili araçlarımızı da deneyin: JSON Formatter, Regex Test Aracı, Teknoloji Dedektörü