Unix Timestamp Çevirici
Timestamp'ten tarihe ve tersine — saniye/milisaniye otomatik algılanır; yerel saat ve UTC birlikte, canlı şimdiki timestamp'le.
992 görüntülenme
Geçersiz timestamp
Nasıl Çalışır
Unix timestamp, 1 Ocak 1970 00:00:00 UTC'den — epoch adı verilen sabit referans noktasından — bu yana geçen tam saniyeleri sayar. 1.784.000.000 sayısı Temmuz 2026'ya denk gelir; 1970'ten bu yana geçen her saniyenin kendine özgü tek bir tam sayısı vardır, saat dilimi, takvim ayı ya da yaz saati uygulaması bu sayıya hiç karışmaz. Veritabanlarının, API'lerin ve log dosyalarının zamanı tam olarak bu şekilde saklamasının nedeni budur: dünyanın iki ucundaki sunucu aynı an için aynı timestamp'i hesaplar, timestamp'leri sayısal olarak sıralamak onları kronolojik sıralamakla birebir aynı sonucu verir — ayrıca bir tarih ayrıştırma mantığına gerek kalmaz.
Bir timestamp'i insan tarafından okunur tarihe çevirmek, bu tam sayıyı belirli bir saat dilimine göre yorumlamak demektir: temsil edilen an değişmez, yalnızca nasıl gösterildiği değişir. Bu araç, uyuşmazlığı kolayca fark edebilmeniz için yerel saat diliminizi ve UTC'yi yan yana gösterir — örneğin 1784000000 timestamp'i 2026-07-13 22:13:20 UTC olarak okunur, bu da UTC+3'te 2026-07-14 01:13:20'ye denk gelir. Ters yönde — tarihten timestamp'e — aynı mantık tersine işler: araç girdiğiniz tarih alanlarını seçtiğiniz saat dilimine ait kabul eder ve karşılık gelen epoch tam sayısını hesaplar. Saniye ve milisaniye hane sayısına bakılarak otomatik ayırt edilir, böylece hangi biçimi yapıştırırsanız yapıştırın ayar gerekmez.
Bilinmesi Gerekenler
Klasik 32-bit işaretli bir tam sayı, epoch'tan itibaren en fazla 2.147.483.647 saniye sayabilir; bu sınıra 19 Ocak 2038, 03:14:07 UTC'de ulaşılır — bilinen adıyla "2038 yılı sorunu". Timestamp'i hâlâ 32 bit olarak saklayan sistemler bu anda negatif bir sayıya döner; ruh olarak Y2K hatasına benzer. Modern 64-bit sistemler aynı değeri çok daha büyük bir tam sayıda saklar ve yaklaşık 292 milyar yıl boyunca geçerliliğini korur; bu yüzden güncel veritabanları, işletim sistemleri ve diller bu sorundan etkilenmez. Negatif timestamp'ler de geçerlidir — yalnızca 1 Ocak 1970'ten önceki tarihleri geriye doğru sayarak kodlar. Bilinmesi gereken bir başka ayrıntı: UTC, Dünya'nın dönüşüyle uyumlu kalmak için zaman zaman bir artık saniye (leap second) eklenir, ama Unix timestamp standardı artık saniyeleri tamamen yok sayar ve her günü tam olarak 86.400 saniye kabul eder — bu da timestamp aritmetiğini basit tutar, bedelini ise gökbilimsel kesinlikten milisaniyeler mertebesinde ödün vererek öder.
Unix timestamp, günlük geliştirme işlerinde sürekli karşınıza çıkar: JSON Web Token'lar son kullanma tarihini exp alanında epoch saniyesi olarak kodlar, HTTP önbellek başlıkları ve çerezler de sona erme süresini genellikle aynı şekilde belirtir, zamanlanmış görev sistemleri ise mevcut epoch değerini hedef değerle karşılaştırarak ne zaman tetikleneceğine karar verir. Format yalnızca bir tam sayı olduğu için üzerinde tarih aritmetiği yapmak da çok kolaydır: bir timestamp'e 86.400 eklemek, hangi ay veya hangi artık yıla denk geldiğine bakılmaksızın UTC'de tam olarak bir gün sonrasını ifade eder — takvim tarihiyle aritmetik yapmak bu açıdan çok daha hataya açıktır. Neredeyse her programlama dilinin "şu an"ı bir timestamp olarak okumak için basit bir fonksiyon sunmasının nedeni de budur — PHP'de time(), JavaScript'te Date.now(), Python'da time.time() — ve iki timestamp'i sade sayılar olarak karşılaştırmak, hangi olayın önce gerçekleştiğini anlamak için yeterlidir; olayların dünyanın neresinde meydana geldiği hiç fark etmez.
Sıkça Sorulan Sorular
Timestamp'im neden 3 saat kayık görünüyor?
Timestamp tanım gereği UTC'dir; kayma gösterim sırasında oluşur. Buradaki UTC satırını API'nizle karşılaştırın — eşleşiyorsa veri doğru, yalnız yerel gösterim farklıdır (Türkiye UTC+3).
Sistemim saniye mi milisaniye mi kullanıyor?
Hane sayın: 10 hane = saniye (2286'ya kadar), 13 hane = milisaniye. Unix araçları ve PHP time() saniye; JavaScript Date.now() ve Java milisaniye kullanır.
"2038 yılı sorunu"nda tam olarak ne olur?
Timestamp'i işaretli 32-bit tam sayı olarak saklayan sistemler en fazla 2.147.483.647'ye kadar sayabilir — bu sınıra 19 Ocak 2038, 03:14:07 UTC'de ulaşılır. Bir saniye sonra değer taşar ve büyük bir negatif sayıya döner; yazılımlar bunu genellikle 1901 yılına ait bir tarih olarak yanlış okur. 64-bit sistemler aynı tam sayıyı çok daha geniş bir alanda sakladığı için bu sorundan etkilenmez.
Timestamp'ler neden artık saniyeleri yok sayar?
Unix timestamp standardı her günü tam olarak 86.400 saniye olarak tanımlar, böylece saniye ile takvim tarihi arasında basit aritmetikle çevrim yapılabilir. Gerçek UTC, Dünya'nın hafif düzensiz dönüşüyle uyumlu kalmak için ara sıra bir artık saniye ekler, ama bu fazladan saniye timestamp'te temsil edilmez — göz ardı edilir; bu da timestamp hesaplarını öngörülebilir tutar, bedelini saniyenin çok küçük bir kesri kadar gökbilimsel sapmayla öder.
Unix timestamp negatif olabilir mi?
Evet. Negatif değerler epoch'tan geriye doğru saniye sayar, örneğin -86400, 31 Aralık 1969 00:00:00 UTC'yi ifade eder. Her sistem negatif timestamp kabul etmez, ama formatın kendisi 1970 öncesi her tarihi özel bir durum gerektirmeden destekler.
Benzer Araçlar
Sorun Bildir
Unix Timestamp Çevirici
Yorumlar
Henüz yorum yok — ilk yorumu siz yazın!