Unix Zaman Damgası Dönüştürücü

Unix epoch’u 1 Ocak 1970’te 00:00:00 UTC’de başladı ve o günden beri her saniye bir sayıdır. Bu dönüştürücü saniye ya da milisaniye cinsinden bir zaman damgasını okur, onu okunabilir bir UTC tarihine çevirir ve ne kadar önce (ya da gelecekte ne kadar uzakta) olduğunu söyler. Ters yön, PHP’nin ayrıştırabileceği herhangi bir tarih dizesini alır, ISO 8601, RFC 2822, “next Monday”, ve epoch değerini döndürür.

Bir Unix zaman damgası nasıl dönüştürülür

  1. 1

    Zaman damgasını yapıştırın

    Saniye (güncel tarihler için 10 hane) ya da milisaniye (13 hane) kabul eder; araç hangisi olduğunu otomatik algılar.

  2. 2

    UTC tarihini okuyun

    Kanonik `Y-m-d H:i:s` UTC dizesini ve "2 saat önce" gibi göreli bir ifadeyi alırsınız.

  3. 3

    Ya da diğer yöne gidin

    Bir tarih yazın: "2025-01-15 14:30:00", "Jan 15 2025", "now -1 week": ve eşleşen zaman damgasını alın.

  4. 4

    Kopyalayıp kullanın

    Zaman damgasını bir günlük sorgusuna, API isteğine ya da veritabanı where koşuluna yapıştırın.

Epoch, milisaniye ve 2038 yılı

Unix zaman damgaları sunucu günlüklerinin, API’lerin ve veritabanlarının ortak dilidir. Biçimdeki birkaç dönüm noktası değerini bilmek, neye baktığınızı akıl kontrolünden geçirmenize yardımcı olur.

Referans değerleri

Zaman damgası Anlamı
0 1970-01-01 00:00:00 UTC, epoch
1000000000 2001-09-09 01:46:40 UTC, “milyar saniye” partisi
1600000000 2020-09-13 12:26:40 UTC
1700000000 2023-11-14 22:13:20 UTC
2147483647 2038-01-19 03:14:07 UTC, 32 bit işaretli int taşması

Saniye, milisaniye, mikrosaniye

  • 10 hane (1700000000) = saniye. Unix, PHP, Postgres, MySQL, Go time.Unix.
  • 13 hane (1700000000000) = milisaniye. JavaScript Date.now(), Java, Kotlin, Kafka.
  • 16 hane = mikrosaniye. gettimeofday ve izleme sistemleri tarafından kullanılır.
  • 19 hane = nanosaniye. Go time.Now().UnixNano(), yüksek çözünürlüklü izleme.

Bu araç saniye varsayar ama girdi > 9,999,999,999 olduğunda otomatik olarak milisaniyeye geçer, ki bu bir açılır menü zorlamadan JavaScript zaman damgaları konusunda sizi dürüst tutar.

2038 sorunu (Y2K38)

Zaman damgalarını işaretli 32 bit tam sayıda saklayan sistemler, 19 Ocak 2038’de 03:14:07 UTC’de başa sarar. time_t‘yi int32 olarak kullanan herhangi bir kod, tarihlerin 1901’e geriye atladığını görecektir. Düzeltme, ~292 milyar yıl daha kazandıran 64 bit depolamadır, bol bol marj.

Sık Sorulan Sorular

Saniyeye değil, epoch’tan beri milisaniyeye bakıyorsunuz. JavaScript’in Date.now() ve new Date().getTime()‘i ikisi de milisaniye döndürür. Araç 9,999,999,999 üstündeki değerleri algılar ve otomatik olarak 1,000’e böler.

Bir Unix zaman damgası tanımı gereği her zaman UTC’dir, bir duvar saati zamanı değil, zamanda mutlak bir andır. Onu İstanbul ya da başka bir saat diliminde göstermek için, burada döndürülen UTC tarihini saat dilimi dönüştürücüyle dönüştürün ya da ofseti kendiniz ekleyin (İstanbul = UTC+03:00).

PHP’nin DateTime ayrıştırıcısının anladığı her şey: 2025-01-15, 2025-01-15T14:30:00Z, Jan 15 2025 2:30 PM, next Monday, now - 1 hour, Unix tarzı @1700000000. Ayrıştırıcı ISO/sayısal biçimleri ya da İngilizce anahtar sözcükleri bekler; Türkçe ay adları (örneğin Ocak) tanınmaz. Ayrıştırma başarısız olursa, araç yaygın biçimlerle bir ipucu gösterir.

Hayır. Araç değeri istek için işler ve sonucu döndürür, zaman damgalarınızla ilgili hiçbir şey saklanmaz ya da başka bir yere gönderilmez.

İlgili Araçlar

Araç diğer dillerde mevcuttur