Unix Zaman Damgası Nedir?
Unix zaman damgası (epoch zamanı ya da POSIX zamanı olarak da bilinir), 1 Ocak 1970'te saat 00:00:00 UTC'den bu yana geçen saniye sayısıdır; artık saniyeler bu sayıma dahil edilmez. Belirli bir anı evrensel ve saat diliminden bağımsız şekilde ifade etmenin bir yoludur; veritabanlarında, API'lerde, günlük (log) dosyalarında ve programlama dillerinde yaygın olarak kullanılır. Bu dönüştürücü, girdiğiniz değerleri UTC olarak kabul eder ve karşılık gelen epoch değerini hem saniye hem de milisaniye cinsinden verir.
Dönüştürücü Nasıl Kullanılır?
Dönüştürmek istediğiniz anın yılını, ayını, gününü, saatini, dakikasını ve saniyesini girin. Tüm değerler UTC (Eş Güdümlü Evrensel Zaman) olarak yorumlanır. Hesapla düğmesine bastığınızda araç, ilgili Unix zaman damgasını saniye cinsinden verir; ayrıca JavaScript'in Date nesnesi ve birçok web API'sinin sıkça istediği milisaniye değerini de gösterir.
Formülün Açıklaması
Hesaplama, 1 Ocak 1970 ile seçtiğiniz tarih arasındaki tam gün sayısını bulur, bunu 86.400 (bir gündeki saniye sayısı) ile çarpar ve ardından günün saatinden gelen saniyeleri ekler:
$$t = \left\lfloor \frac{\text{UTC}\left(\text{Year},\ \text{Month},\ \text{Day},\ \text{Hour},\ \text{Minute},\ \text{Second}\right) - \text{UTC}(1970)}{1000} \right\rfloor$$
epoch = 1970'ten_bu_yana_geçen_gün \(\times\) 86400 + saat \(\times\) 3600 + dakika \(\times\) 60 + saniye
Gün sayımı artık yılları otomatik olarak hesaba katar; bu sayede 2000, 2020 ve 2024 gibi yıllardaki 29 Şubat doğru biçimde işlenir.
Örnek Hesaplama
1 Ocak 2024, saat 00:00:00 UTC'yi ele alalım. 1970-01-01 ile 2024-01-01 arasında 19.723 tam gün vardır. Çarpalım: $$19.723 \times 86.400 = 1.704.067.200 \text{ saniye}$$ Ek saat, dakika veya saniye olmadığından Unix zaman damgası 1.704.067.200, milisaniye değeri ise 1.704.067.200.000 olur.
Sıkça Sorulan Sorular
Girdiğim değer yerel saatim mi? Hayır. Sonuçların belirsizlik içermemesi için tüm girdiler UTC olarak kabul edilir. Gerekirse önce yerel saatinizi UTC'ye çevirin.
Zaman damgası negatif olabilir mi? Bu araç 1970 ve sonrasındaki yılları kabul eder, dolayısıyla sonuç her zaman sıfır veya pozitiftir. 1970 öncesindeki tarihler negatif bir epoch değeri üretir.
Neden hem saniye hem milisaniye var? Çoğu Unix sistemi saniye kullanırken, JavaScript ve birçok web API'si milisaniye kullanır. Kolaylık olması için her ikisi de gösterilir.