Epoch Zaman Dönüştürücü
Unix zaman damgalarını UTC tarihlerine dönüştürün veya bir tarihi epoch saniyelerine çevirin.
Bu epoch zaman dönüştürücüsü nasıl kullanılır
- Dönüştürme modunu seçin
Dönüştürme modu alanında Epoch'tan tarihe veya Tarihten epoch'a seçeneğini belirleyin.
- Epoch'tan tarihe için
Unix zaman damgasını saniye cinsinden Epoch zaman damgası (saniye) alanına girin.
- Tarihten epoch'a için
Takvim tarihinden tarihi seçin, ardından Saat (UTC), Dakika (UTC) ve Saniye (UTC) ayarlarını gerektiği gibi yapın.
- Sonucu okuyun
Hesaplayıcı; UTC değerini, Unix milisaniyelerini ve haftanın gününü gösterir.
Bu epoch zaman dönüştürücü nasıl çalışır
Bu epoch zaman dönüştürücü, Unix zaman damgaları ile insan tarafından okunabilir UTC tarihleri arasında dönüşüm yapar. POSIX zamanı veya epoch zamanı olarak da adlandırılan Unix zamanı, 1 Ocak 1970 gece yarısı UTC (1970-01-01T00:00:00Z) olarak tanımlanan Unix epoch'undan bu yana geçen saniye sayısını sayar. Bu tek tam sayı gösterimi; veritabanlarında, API'lerde, günlük dosyalarında, JWT belirteçlerinde ve neredeyse tüm modern programlama dillerinde zaman damgalarını depolamak ve iletmek için fiili standarttır. Dönüştürücü her iki yönü de destekler: sayısal bir zaman damgası girmek karşılık gelen UTC tarihini, haftanın gününü ve milisaniye eşdeğerini döndürürken, bir takvim tarihi ve saati girmek saniye ve milisaniye cinsinden epoch değerini döndürür.
Unix zamanı = 1970-01-01T00:00:00Z tarihinden itibaren geçen saniye sayısı 1.700.000.000 Unix zaman damgasını bir tarihe dönüştürmek için: 1970-01-01 00:00:00 UTC'den başlayarak 1.700.000.000 saniye ekleyin. Bu, 19.675 gün, 17 saat, 46 dakika ve 40 saniyeye eşittir. Sonuçtaki UTC tarihi 14-11-2023 saat 22:13:20 UTC'dir ve bir Salı gününe denk gelir. Milisaniye karşılığı 1.700.000.000.000'dır. Aksine, 14 Kasım 2023 saat 22:13:20 UTC girildiğinde tam olarak 1.700.000.000 epoch değeri döner.
0 zaman damgası 1970-01-01 00:00:00 UTC (Perşembe) tarihine dönüşür. Milisaniye karşılığı 0'dır.
1.704.000.000 zaman damgası 2023-12-31 12:00:00 UTC (Pazar) tarihine dönüşür. Bu tarih ve saati 'Tarihten epoch'a' modunda girmek 1.704.000.000 sonucunu verir.
- ✓ Tüm hesaplamalar UTC formatındadır. Yerel saat dönüşümleri, dönüşümden sonra uygun saat dilimi farkının uygulanmasını gerektirir.
- ✓ Artık saniyeler sayılmaz. POSIX gibi, bu dönüştürücü her günü tam olarak 86.400 saniye olarak kabul eder; bu da çoğu programlama dili ve işletim sisteminin davranışıyla eşleşir.
- ✓ Negatif zaman damgaları, başlangıç tarihinden (1 Ocak 1970) önceki tarihleri temsil eder. Örneğin, −86400 değeri 31 Aralık 1969'a karşılık gelir.
- ✓ Milisaniye zaman damgaları girilmeden önce 1.000'e bölünmelidir; dönüştürücü girdi olarak saniyeyi kabul eder ve sonuçlarda milisaniye karşılığını gösterir.
- JavaScript'in Date.now() ve Java'nın System.currentTimeMillis() fonksiyonları saniye değil, milisaniye döndürür; değeri buraya girmeden önce 1.000'e bölün veya karşılaştırma için milisaniye çıktısını kullanın.
- 2038 yılı sorunu, 19 Ocak 2038 saat 03:14:07 UTC'de taşma yapacak olan 32 bitlik işaretli tam sayı zaman damgalarını etkiler. Çoğu modern sistem 64 bitlik zaman damgalarına geçiş yapmıştır.
- API yanıtlarında veya günlük dosyalarında hata ayıklarken, tam olarak 3.600 veya 7.200 saniye sapan zaman damgalarına dikkat edin; bu genellikle işlem hattının bir yerinde bir saat dilimi farkının uygulandığını (veya atlandığını) gösterir.
- Epoch zamanı (artık saniye ayarlamaları hariç) her zaman monoton olarak artar, bu da onu olayları sıralamak, süreleri hesaplamak ve benzersiz zaman tabanlı tanımlayıcılar oluşturmak için ideal kılar.
- IEEE Std 1003.1 (POSIX) — Epoch'tan Beri Geçen Saniye Tanımı
- Unix epoch başlangıcı — The Unix Heritage Society ve Bell Labs belgeleri
- RFC 3339 — İnternette Tarih ve Saat: Zaman Damgaları
Unix zaman damgaları nedir?
Unix zaman damgası, 1 Ocak 1970 gece yarısı UTC'den (Unix başlangıcı) bu yana geçen saniye sayısıdır. Bu tek tam sayı; veritabanlarında, API'lerde, günlük dosyalarında ve çoğu programlama dilinde zamanı temsil etmek için fiili standarttır. Saat diliminden bağımsız olduğu ve monoton olarak arttığı için sıralamayı, süre hesaplamalarını ve zamana dayalı karşılaştırmaları basitleştirir. JavaScript'in Date.now() işlevi ve birçok API milisaniye (1.000 × saniye) döndürür, bu nedenle buraya bir milisaniye değeri girmeden önce 1.000'e bölün. Negatif zaman damgaları 1970'ten önceki tarihleri temsil eder; örneğin, -86400 tam olarak başlangıçtan bir gün öncesidir.
Epoch zamanı için geliştirici kullanım durumları
Geliştiriciler; veritabanlarında olay zamanlarını saklarken, JSON API'lerinde tarihleri serileştirirken, zamana dayalı önbellek anahtarları oluştururken ve günlük kayıtlarında hata ayıklarken Unix zaman damgalarını kullanır. Veritabanı sütunları, verimli indeksleme ve aralık sorguları için zaman damgalarını genellikle tam sayı olarak saklar. API yanıtları, saat dilimi belirsizliğini önlemek için sıklıkla epoch saniyeleri veya milisaniyeleri döndürür. Hata ayıklama sırasında, bir günlükten veya JWT talebinden alınan ham bir zaman damgasını okunabilir bir tarihe dönüştürmek, değerin doğru olup olmadığını veya bir saat dilimi faktörü kadar sapıp sapmadığını hızla ortaya çıkarır. Epoch zamanı ayrıca hız sınırlama, oturum sona erme süresi ve dağıtık sistemlerde sıralanabilir benzersiz tanımlayıcılar oluşturmak için de kullanılır.
Epoch zaman dönüştürücü SSS
Unix epoch nedir?
Unix epoch, Unix zamanının ölçüldüğü referans noktasıdır: 1 Ocak 1970 gece yarısı UTC (1970-01-01T00:00:00Z). 0 zaman damgası tam olarak o ana karşılık gelir.
JavaScript zaman damgam neden daha fazla basamağa sahip?
JavaScript'in Date.now() fonksiyonu, saniye yerine epoch'tan itibaren geçen milisaniyeyi döndürür. Bu araç tarafından kullanılan saniye tabanlı formata dönüştürmek için 1.000'e bölün veya doğrudan milisaniye çıktısıyla karşılaştırın.
Negatif bir zaman damgası girebilir miyim?
Evet. Negatif değerler epoch öncesindeki tarihleri temsil eder. Örneğin, -86400, epoch'tan tam bir gün öncesi olan 1969-12-31T00:00:00Z tarihine karşılık gelir.
Artık saniyeleri hesaba katıyor mu?
Hayır, bu durum POSIX standardıyla uyumludur. POSIX zamanı, her günün tam olarak 86.400 saniye olduğunu varsayar. 1972'den beri eklenen 27 artık saniye ayrı ayrı temsil edilmez; bu da UTC ve Unix zamanının artık saniye sınırlarında bir saniyeye kadar farklılık gösterebileceği anlamına gelir.
2038 yılı problemi nedir?
Unix zamanını 32 bitlik işaretli tam sayı olarak saklayan sistemler, 19 Ocak 2038 saat 03:14:07 UTC'de taşma yaşayacak, büyük bir negatif sayıya dönecek ve 1901 yılındaki tarihleri üretecektir. Çoğu modern platform artık 290 milyar yıldan fazla bir süre boyunca taşma yapmayacak olan 64 bitlik zaman damgalarını kullanmaktadır.