Artık saniye neydi?
Dünyada iki tür saat var. Biri atom saatleri: Sezyum atomlarıyla ölçülen, son derece düzenli bir zaman. Uluslararası Atom Zamanı (TAI) buradan geliyor. Diğeri Dünya’nın kendi dönüşü (UT1). Dünya tam düzenli dönmüyor; gelgitler, buzulların erimesi ve iç çekirdeğin hareketleri günü milisaniyelerle uzatıp kısaltıyor.
Hepimizin saatinin dayandığı UTC bu ikisinin ortası. Atom saatinin hızıyla akıyor ama Dünya’nın dönüşünden en fazla 0,9 saniye uzaklaşmasına izin veriliyor. Fark büyüyünce Dünya Dönüşü Servisi (IERS) altı ay önceden duyurup Haziran ya da Aralık sonuna bir saniye ekliyordu. O gece saat 23:59:59’dan sonra 00:00:00’a değil, 23:59:60’a geçiyordu.
1972’den beri 27 artık saniye eklendi. Sonuncusu 31 Aralık 2016’daydı. O günden beri UTC, atom zamanının tam 37 saniye gerisinde.
Ne değişti?
Ağırlıklar ve Ölçüler Genel Konferansı (CGPM) 2022’de artık saniyenin 2035’e kadar bırakılmasına karar vermiş, ayrıntıyı sonraya bırakmıştı. 15 Ekim 2026’da Versailles’daki 28. toplantıda ayrıntı netleşti. 5 numaralı karara göre:
- 20 Mayıs 2027’den (Dünya Metroloji Günü) itibaren UTC kesintisiz akacak. Artık saniye eklenmeyecek.
- UTC ile Dünya’nın dönüşü arasındaki farkın üst sınırı 0,9 saniyeden 3.600 saniyeye, yani bir saate çıkıyor. BIPM’e göre bu, UTC’yi birkaç yüzyıl boyunca kesintisiz tutmaya yeter.
- Değiştirilemeyen eski cihazlar için Uluslararası Telekomünikasyon Birliği’nin (ITU) daha önce verdiği geçiş süresi geçerli: 2035’e, en geç 2040’a kadar.
IERS, Aralık 2026 sonunda da artık saniye olmayacağını zaten duyurmuştu. Yani 2016’daki saniye büyük ihtimalle son olarak kalacak.
Neden şimdi?
Son yıllarda Dünya biraz hızlı dönüyor. Kararın gerekçesine göre 2035’e kadar ilk kez eksi bir artık saniye gerekme ihtimali yüzde 30. Yani saat 23:59:58’den doğrudan 00:00:00’a atlayacaktı. Bu hiç yapılmadı. Meta mühendisleri 2022’de etkisinin büyük ölçekte hiç test edilmediğini yazmıştı. Karar metni de hazırlığın Y2K ölçeğinde yatırım gerektireceğini söylüyor. Kesintisiz UTC’de ne eklenen ne de çıkarılan saniye olacak.
Saat geri gidince ne oluyor?
Artık saniye, yazılımın en sevdiği varsayımı bozuyordu: “Zaman hep ileri akar.”
- Reddit, 2012: Artık saniye Linux’un yüksek çözünürlüklü zamanlayıcısını şaşırttı. Sunucuların işlemcileri kilitlendi ve site 30–40 dakika erişilemez oldu.
- Cloudflare, 1 Ocak 2017: Go ile yazılmış DNS yazılımı RRDNS, iki
time.Now()değerini çıkararak yanıt sürelerini ölçüyordu. Saat bir saniye geri gidince süre eksiye düştü. Eksi değerrand.Int63n()fonksiyonuna gitti, fonksiyon panikledi. Zirvede DNS sorgularının yaklaşık yüzde 0,2’si etkilendi, düzeltme 06:45 UTC’de tamamlandı.
Büyük şirketler bu yüzden “smear” (yayma) tekniğini kullanıyordu: Fazladan saniyeyi saatlere yayıp saati hiç geri almamak. Google bunu öğlen-öğlen 24 saate doğrusal olarak yayıyordu, Meta 17 saate. Ama herkes aynı yöntemi kullanmadığı için farklı servislerin saatleri o gün birbirini tutmayabiliyordu.
Senin için ne anlama geliyor?
Unix zamanı zaten artık saniyeleri yok sayıyor, her günü 86.400 saniye kabul ediyor. Saat dilimleri ve yaz saati de olduğu gibi kalıyor. Yani yapman gereken bir şey yok.
Ama ders kalıcı. Duvar saati (wall clock) NTP düzeltmeleri, el ile ayar ya da sanal makine taşıma yüzünden yine geri gidebilir. Süre ölçerken monoton saat kullan: Python’da time.monotonic(), tarayıcıda ve Node’da performance.now(). Go, Cloudflare olayından sonra çıkan 1.9 sürümünde time.Now() değerlerine monoton bir okuma ekledi, böylece duvar saati geri gitse bile iki time.Now() arasındaki fark eksiye düşmüyor.
Düşün
- Kodunda iki zaman damgasını çıkarıp süre hesaplayan bir yer var mı? Sonuç eksi çıkarsa ne olur?
- Saatler yüzyıllar sonra güneşten bir saat kayarsa, bunu kim, nasıl düzeltmeli?
Videoyu izle
Kaynaklar (8, İngilizce)
- Better Stack: Leap Seconds Are Ending (video) (yeni sekmede açılır)
- BIPM: Resolution 5 of the 28th CGPM (2026), On the technical actions needed to ensure the continuity of UTC (yeni sekmede açılır)
- BIPM: Statement by the CCTF President (CGPM 2026) (yeni sekmede açılır)
- IERS Bulletin C 72: No leap second at the end of December 2026, UTC-TAI = -37 s (yeni sekmede açılır)
- Cloudflare: How and why the leap second affected Cloudflare DNS (2017) (yeni sekmede açılır)
- Meta Engineering: It's time to leave the leap second in the past (2022) (yeni sekmede açılır)
- Google Public NTP: Leap Smear (yeni sekmede açılır)
- Go 1.9 Release Notes: Transparent Monotonic Time support (yeni sekmede açılır)
Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.