Epoch / Unix Timestamp Dönüştürücü

Unix epoch zaman damgalarını insan tarafından okunabilir tarihlere — ve tarihleri tekrar epoch'a — çevirir. Saniye ve milisaniye otomatik algılanır. Tüm dönüştürme tarayıcınızda yapılır.

Son güncelleme:

Şu anki Unix zamanı
Epoch → Tarih
Saniye (10 hane) veya milisaniye (13 hane) — otomatik algılanır.
Tarih → Epoch
Yerel saat diliminizde seçin.

Epoch → Tarih

UTC
Yerel saat
ISO 8601
Göreli
Haftanın günü
Algılanan birim

Tarih → Epoch

Epoch (saniye)
Epoch (milisaniye)

Bu dönüştürücü ne zaman gerekir

Bir olayın zaman çizelgesini kurarken

Loglar, veritabanı satırları ve API cevapları aynı anı üç farklı biçimde yazabilir: saniye, milisaniye, ISO metni. Hepsini tek biçime çevirmeden "önce hangisi oldu?" sorusuna güvenilir cevap veremezsiniz.

Bir token'ın süresini kontrol ederken

JWT'nin exp alanı, çerezin Expires değeri ve cache TTL'i epoch üzerinden konuşur. "Bu token gerçekte ne zaman ölecek?" sorusu, damgayı okunabilir tarihe çevirmekle cevaplanır.

Ham veritabanı damgalarını okurken

CreatedDate sütununda 1700000000 gören birinin bunun hangi geceye denk geldiğini ezberden bilmesi beklenemez. Aşağıdaki örnek tam bu değeri adım adım açıyor.

Çalışılmış örnek: 1700000000 hangi gece?

Veritabanında CreatedDate = 1700000000 duruyor. Kayıt ne zaman oluşturulmuş? Adım adım gidelim.

  1. Değer 10 haneli; hane sayısı birimi söyler: bu bir saniye damgası.
  2. UTC karşılığı: 14 Kasım 2023, 22:13:20.
  3. İstanbul (UTC+3) karşılığı: 15 Kasım 2023, 01:13:20; sadece saat değil, gün de değişti.
  4. Aynı anın milisaniye hâli 13 hanelidir: 1700000000000.
  5. O 13 haneli değeri saniye sanan bir sistem tarihi 55.840 yılına taşır; hata mesajı yerine absürt bir tarih görürsünüz.

Gece yarısına yakın damgalarda saat dilimi gün sınırını kaydırır: UTC'de 14 Kasım olan kayıt İstanbul'da 15 Kasım'dır. Günlük rapor, fatura kesimi veya "dün oluşturulanlar" sorgusu yazan herkes bu kaymayı en az bir kez yaşar. Kural basit: veriyi UTC'de tutun, dilim dönüşümünü yalnızca gösterim katmanında yapın.

Sık yapılan dört hata

13 haneyi saniye sanmak

Milisaniye damgasını saniye API'sine vermek tarihi binlerce yıl ileri atar; tersi ise her tarihi Ocak 1970 civarına düşürür. Ekranda 1970 görüyorsanız neredeyse kesin olarak saniye değeri milisaniye bekleyen bir yere gitmiştir.

Damganın saat dilimi taşıdığını varsaymak

Epoch değeri dilimden bağımsız tek bir sayıdır; "UTC'de mi saklanmış?" sorusu anlamsızdır, çünkü damga zaten evrenseldir. Dilim ancak sayıyı tarihe çevirirken devreye girer ve iki sistemin farklı dilim varsayması, aynı kaydı iki farklı güne düşürür.

Dilim dönüşümünü iki kez uygulamak

UTC'den yerel saate çevrilmiş bir değeri "UTC sanıp" tekrar çevirmek, +3'lük dilimde 6 saatlik kayma üretir. Belirtisi karakteristiktir: tüm kayıtlar tam olarak dilim genişliğinin katı kadar kaymıştır. Dönüşüm tek noktada, tek kez yapılmalıdır.

1970 öncesini geçersiz saymak

1970'ten eski tarihler negatif epoch değeri üretir ve bu tamamen geçerlidir. Doğum tarihi gibi alanları epoch'ta tutan sistemlerde negatif değeri hata sanıp sıfıra çeken kod, herkesi 1 Ocak 1970 doğumlu yapar.

Bu araçla birlikte kullanılanlar

  • Cron İfade Çözümleyici Bir cron ifadesini alan alan çözümleyin ve sonraki çalışma zamanlarını görün. Kubernetes CronJob ve zamanlanmış görevler için.
  • JWT Çözücü Bir JSON Web Token'ın header ve payload bölümlerini çözün, standart claim'leri ve geçerlilik süresini görün. Token tarayıcıdan çıkmaz.
  • Hash Üretici (SHA) Metnin SHA-1, SHA-256, SHA-384 ve SHA-512 özetlerini anında hesaplayın. Web Crypto API ile, tarayıcıda.
  • HTML / Entity Kodlayıcı-Çözücü Metni HTML entity'lerine kodlayın veya geri çözün. XSS önleme için özel karakterleri kaçışlayın; tarayıcıda, kayıt gerektirmez.
  • HTML Görüntüleyici HTML kaynağını yapıştırın, anında canlı önizleyin. Sandbox'lı, izole bir çerçevede; script'ler güvenlik için kapalı.

Sık Sorulan Sorular

Unix epoch zamanı nedir?

Unix epoch zamanı (POSIX zamanı), 1 Ocak 1970 00:00:00 UTC'den bu yana geçen saniye sayısıdır. Saat dilimlerinden bağımsız tek bir sayı olduğu için log kayıtlarında, API'lerde ve dağıtık sistemlerde zaman damgası standardıdır.

Saniye mi milisaniye mi olduğunu nasıl anlarım?

Saniye cinsinden bir epoch günümüzde 10 hanelidir; milisaniye cinsinden 13 hane. Bu araç hane sayısına bakarak birimi otomatik algılar. Unix araçları ve çoğu veritabanı saniye, JavaScript'in Date.now()'u ise milisaniye kullanır.

Epoch zaman damgaları neden UTC'dir?

Epoch, sabit bir andan (1970 UTC) bu yana geçen süreyi sayar; saat dilimi taşımaz. Görüntülerken yerel saate çevirirsiniz, ama saklarken her zaman epoch (UTC) tutmak saat dilimi ve yaz saati kaynaklı hataları önler.

2038 problemi nedir?

Epoch'u 32 bitlik işaretli tamsayıda saklayan sistemler 19 Ocak 2038 03:14:07 UTC'de taşar. Modern sistemler 64 bitlik tamsayı kullanır; bu, pratikte sınırsız bir aralık sağlar. .NET'te DateTimeOffset bu sorunu yaşamaz.

.NET'te epoch'u nasıl üretirim?

DateTimeOffset.UtcNow.ToUnixTimeSeconds() saniye cinsinden epoch verir; ToUnixTimeMilliseconds() milisaniye verir. Geri çevirmek için DateTimeOffset.FromUnixTimeSeconds(value) kullanılır.