Ana içeriğe geç
FreeOnlineTools Go
Türkçe
Açıklama

Unix Zaman Damgası Nedir? Epoch Time'ın Tam Açıklaması

FreeOnlineTools Team tarafından · 2026-09-02 güncellendi

Hızlı Yanıt

Unix timestamp, 1 Ocak 1970, 00:00:00 UTC'den (Unix epoch) bu yana saniye sayısıdır. Timezone-bağımsız ve karşılaştırması kolay. JavaScript milisaniye (13 rakam); Unix ve çoğu API saniye (10 rakam) kullanır. Ücretsiz Timestamp Converter kullanın.

giriiş

Unix timestamp (Unix epoch time, POSIX time veya Unix time da denir), 1 Ocak 1970, 00:00:00 UTC'den —Unix epoch olarak bilinen an —bu yana geçen saniye sayısıdır. Timestamp'ler timezone-bağımsız (her zaman UTC), karşılaştırması kolay ve kompakt olduğu için işletim sistemlerinde, veritabanlarında, loglarda ve API'lerde yaygın olarak kullanılır. Ancak insan-okunabilir değildir —1693526400 dönüştürme olmadan hiçbir şey ifade etmez.

Adım adım

  1. Unix çağını anlayın

    Unix dönemi 1 Ocak 1970, 00:00:00 Koordineli Evrensel Zaman'dır (UTC). Unix zaman damgası o andan itibaren geçen saniyelerin sayısıdır. Pozitif zaman damgaları dönemin ardından gelir; negatif zaman damgaları (bazı sistemler tarafından desteklenir) onun önündedir.

  2. Saniyeleri milisaniyelerden ayırın

    Unix zaman damgaları genellikle saniye cinsindendir (2026 itibariyle 10 basamak, örneğin 1693526400). JavaScript'in Date.now() ve Date.getTime() işlevleri milisaniye değerini döndürür (13 basamak, örneğin 1693526400000). Her zaman API'ün hangi birimi beklediğini kontrol edin; bunları karıştırmak en yaygın zaman damgası hatasıdır.

  3. Saat dilimi bağımsızlığını anlama

    Unix zaman damgaları her zaman UTC'dir. Kullanıcının saat dilimine bağlı değildirler. Belirli bir saat dilimindeki zaman damgasını görüntülemek için bunu tarihe dönüştürün ve saat dilimi farkını uygulayın. Bu, zaman damgalarını depolama ve karşılaştırma için ideal hale getirir.

  4. 2038 Yılı problemi hakkında bilgi edinin

    Zaman damgaları için 32 bitlik işaretli tamsayılar kullanan sistemler, 19 Ocak 2038, 03:14:07 UTC'de taşma yaşanacaktır — 'Y2038 sorunu'. 64 bit tamsayılar veya JavaScript sayıları (64 bit kayan noktalar) kullanan sistemler etkilenmez. Modern sistemler büyük ölçüde Y2038 açısından güvenlidir ancak eski yerleşik sistemler bu durumda olmayabilir.

Örnekler

Bilinen bir tarih için zaman damgası

Giriş: 2023-09-01 00:00:00 UTC

Çıkış: 1693526400 (saniye) veya 1693526400000 (milisaniye)

Unix çağı

Giriş: 1970-01-01 00:00:00 UTC

Çıkış: 0

Y2038 sorun sınırı

Giriş: 2038-01-19 03:14:07 UTC

Çıkış: 2147483647 (maks. 32 bit işaretli tamsayı)

Yaygın Sorunlar

  • Saniyeleri ve milisaniyeleri karıştırma —JavaScript milisaniyeleri (Date.now()), Unix'i ve çoğu APIs saniyeyi kullanır. MS'yi saniyeye dönüştürmek için 1000'e bölün; tersi için 1000 ile çarpın.
  • Saat dilimi karışıklığı — zaman damgaları UTC'dir. Görüntülerken kullanıcının yerel saat dilimine dönüştürün veya UTC'yi belirtin. Ham zaman damgasına ofsetler uygulamayın.
  • 2038 Yılı sorunu — 19.01.2038'de 32 bit işaretli tamsayı zaman damgalarının taşması. Bunu önlemek için 64 bit tamsayılar veya JavaScript sayıları kullanın.
  • Negatif zaman damgaları — 1970-01-01'den önceki tarihler negatif zaman damgalarına sahiptir. Bazı sistemler bunları desteklemiyor.

İpuçları

  • Her zaman bir API'nin saniye mi yoksa milisaniye mi beklediğini kontrol edin; bu, en yaygın zaman damgası hatasıdır.
  • APIs'de insanlar tarafından okunabilen zaman damgaları için ISO 8601 dizelerini (ör. "2023-09-01T00:00:00Z") kullanın; Depolama ve hesaplama için Unix Epoch'u kullanın.
  • JavaScript Date.now() milisaniyeyi döndürür; saniyeyi bulmak için 1000'e ve tabana bölün.
  • Tarayıcınızda zaman damgaları ile insanlar tarafından okunabilen tarihler arasında dönüşüm yapmak için Zaman Damgası Dönüştürücümüzü kullanın.

İlgili Araçlar

İlgili Kılavuzlar

Referanslar