MCP ile bağlan →

Hesaplamaya Girin

Enter a Unix time in milisaniye to convert it to seconds, or use the value shown to see how the conversion works. 1 second = 1000 milliseconds.

Formül

Reklam

Sonuç

Unix Zaman Damgası (saniye)
1.700.000.000
1 Ocak 1970 UTC'den bu yana geçen saniye
Milisaniye (epoch_ms) 1.700.000.000.000
Epoch'tan bu yana geçen dakika 28.333.333
Epoch'tan bu yana geçen gün 19.675

Unix Zaman Damgası Nedir?

Unix zaman damgası (epoch zamanı ya da POSIX zamanı olarak da bilinir), 1 Ocak 1970 günü saat 00:00:00 UTC'den itibaren geçen saniye sayısıdır; artık saniyeler bu sayıma dahil edilmez. Bilgisayarların bir zaman anını saat dilimlerinden ve takvim biçimlerinden bağımsız olarak saklamasının evrensel yöntemidir. Bu hesaplayıcı, çoğu programlama dilinin döndürdüğü birim olan milisaniye cinsinden bir zaman damgasını (örneğin JavaScript'teki Date.now()) alır ve epoch'tan bu yana geçen saniye, dakika ve güne çevirir.

Unix başlangıcından itibaren saniye saniye artan zamanı gösteren sayı doğrusu
Unix zamanı, 1 Ocak 1970, 00:00 UTC olan başlangıç anından bu yana geçen saniyeleri sayar.

Nasıl Kullanılır?

Milisaniye cinsinden Unix zamanınızı alana yazın ve gönderin. Araç, değeri 1000'e tam bölme (floor) yaparak tam Unix saniyesini verir — veritabanlarında, API'lerde ve Linux'un date +%s komutunda en sık kullanılan biçim budur. Sonuç tablosu ayrıca orijinal milisaniye değerini, geçen dakika ve gün sayısını gösterir; böylece sonucu hızlıca kontrol edebilirsiniz.

Formülün Açıklaması

Temel dönüşüm şudur:

$$\text{Seconds} = \left\lfloor \frac{\text{Time (ms)}}{1000} \right\rfloor$$

1000'e bölmek milisaniyeyi saniyeye çevirir, floor işlemi ise ondalık kısmı atarak tam saniyelik bir zaman damgası verir. Dakika için \(\left\lfloor \frac{\text{now\_ms}}{60000} \right\rfloor\), gün için ise \(\left\lfloor \frac{\text{now\_ms}}{86400000} \right\rfloor\) kullanılır; çünkü bir gün 86.400 saniye = 86.400.000 milisaniyedir.

$$\begin{gathered} \text{Seconds} = \left\lfloor \dfrac{M}{1000} \right\rfloor, \quad \text{Millis} = M \\[1em] \text{Minutes} = \left\lfloor \dfrac{M}{60000} \right\rfloor, \quad \text{Days} = \left\lfloor \dfrac{M}{86400000} \right\rfloor \\[1.5em] \text{where}\quad M = \text{Time (ms)} \end{gathered}$$
Milisaniyeyi 1000'e bölüp aşağı yuvarlayarak saniye elde etme şeması
Tam saniyeleri elde etmek için milisaniye değerini 1000'e bölün ve sonucu aşağı yuvarlayın.

Çözümlü Örnek

Diyelim ki \(\text{now\_ms} = 1\,700\,000\,000\,000\). Bu durumda

$$\text{epoch\_s} = \left\lfloor \frac{1\,700\,000\,000\,000}{1000} \right\rfloor = 1\,700\,000\,000 \text{ saniye}$$

olur ve bu da 14 Kasım 2023 tarihine karşılık gelir. Epoch'tan bu yana geçen dakika = \(\left\lfloor \frac{1\,700\,000\,000\,000}{60000} \right\rfloor = 28\,333\,333\), gün ise = \(\left\lfloor \frac{1\,700\,000\,000\,000}{86\,400\,000} \right\rfloor = 19\,675\)'tir.

Sıkça Sorulan Sorular

Neden her yerde milisaniye yerine saniye kullanılıyor? Eski sistemler ve birçok API (Unix, Postgres, JWT'deki exp alanı) saniyeyi saklarken, tarayıcılar ve Java milisaniyeyi kullanır. İkisi arasında geçiş yapmak için sadece 1000 ile çarpmak ya da bölmek yeterlidir.

Peki artık saniyeler ne olacak? Unix zamanı artık saniyeleri yok sayar, dolayısıyla sayım temiz ve doğrusal bir ölçüdür — aritmetik için pratiktir ama astronomik UTC ile tam olarak hizalanmaz.

2038'de bir sorun çıkacak mı? Saniye sayısını işaretli 32 bit tam sayıda saklayan sistemler 19 Ocak 2038'de taşmaya uğrar. Modern 64 bit sistemler bundan etkilenmez.

Son güncelleme: