tooly

Unix zaman damgası dönüştürücü

Epoch saniye veya milisaniyeyi okunabilir tarihe ya da tarihi zaman damgasına çevirin. ISO 8601, UTC, yerel saat diliminizi ve “3 gün önce” gibi göreli açıklamayı görün; artı güncel Unix zamanı.

Her şey tarayıcınızda çalışır — hiçbir şey gönderilmez

Nasıl kullanılır

  1. 1

    Bir zaman damgası veya tarih yapıştırın ya da güncel zaman için Kullan'a tıklayın.

  2. 2

    Tüm biçimler anında hesaplanır.

  3. 3

    İhtiyacınız olanı kopyalayın.

Tek paragrafta Unix zamanı

Unix zamanı, epoch olarak bilinen 1 Ocak 1970 00:00:00 UTC anından bu yana geçen saniyeleri sayar. Saat dilimlerini ve yaz saatini tamamen yok sayar: herhangi bir anda Unix zamanı Dünya'nın her yerinde aynı sayıdır. Bu da onu veritabanlarında, log dosyalarında, JWT exp ve iat alanlarında, dosya değiştirilme zamanlarında, API yanıtlarında ve cron benzeri zamanlayıcılarda anları saklamak ve karşılaştırmak için doğal format yapar. Sorun şu ki 1700000000 bir insan için hiçbir şey ifade etmez; bu dönüştürücü de bunun için var. Kayıt için söyleyelim: 14 Kasım 2023, 22:13:20 UTC.

Saniyeler, milisaniyeler ve daha uzun sayılar

Farklı sistemler farklı birimlerle sayar:

  • Saniye, güncel tarihler için 10 hane: Unix ve Linux araçları, PHP time(), Python time.time() (kesirli kısmıyla), çoğu SQL veritabanı, JWT'ler.
  • Milisaniye, 13 hane: JavaScript Date.now(), Java System.currentTimeMillis(), birçok JSON API'si ve analitik olayı.
  • Mikrosaniye, 16 hane, ve nanosaniye, 19 hane: bazı veritabanları, Go, yüksek çözünürlüklü izleme araçları.

Araç birimi büyüklüğe göre belirler. Mutlak değeri 100.000.000.000'dan küçük her tam sayı saniye, 100.000.000.000.000'a (14 hane) kadar olanlar milisaniye, 10^17'den küçükler mikrosaniye, daha büyükler nanosaniye olarak okunur. Bu eşikler gerçekçi her durumda işe yarar: ilk eşik saniye olarak 5138 yılına, milisaniye olarak 1973 Mart başına denk gelir.

Mikrosaniye ve nanosaniye değerleri milisaniye hassasiyetine kesilir, çünkü çıktılar zaten bu kadarını gösterir. 1700000000.5 gibi kesirli girdi kabul edilmez; önce ondalık kısmı atın.

Negatif sayılar çalışır ve 1970 öncesi tarihler verir: -86400, 31 Aralık 1969'dur.

Altı çıktıyı okumak

  • Unix, saniye ve Unix, milisaniye: aynı an, iki birimde. .250 gibi saat kısmı içeren bir tarih metni yapıştırdığınızda milisaniyeler korunur; saniye değeri aşağı yuvarlanır.
  • ISO 8601: örneğin 2023-11-14T22:13:20.000Z. Her zaman UTC'dir, Z ile işaretlenir ve milisaniye hassasiyetindedir. API'ler ve JSON için en güvenli formattır, çünkü metin olarak doğru sıralanır ve her dil onu ayrıştırır.
  • UTC: Expires, Last-Modified ve çerez başlıklarında kullanılan HTTP tarih stili, Tue, 14 Nov 2023 22:13:20 GMT.
  • Saat diliminiz: 24 saat formatında gün/ay/yıl, ardından saat dilimi kısaltması (yoksa GMT farkı) ve tarayıcınızın bildirdiği bölge adı, örneğin Europe/Istanbul. Bugünün farkı değil, o tarih için geçerli yaz saati uygulanır.
  • Göreli: "dün", "3 gün içinde" veya "2 yıl önce" gibi ifadeler. Tasarım gereği yaklaşıktır: aylar ortalama yaklaşık 30,4 gün kabul edilir ve sayfa açıkken değer güncellenir.

Bir tarihi zaman damgasına dönüştürmek

Sayı yerine bir tarih yapıştırabilirsiniz. ISO 8601 metinleri en güvenilir girdidir ve saat dilimi kurallarını bilmeye değer, çünkü saat kaymalı hataların çoğuna bunlar yol açar:

  • 2024-05-01T12:00:00Z ve 2024-05-01T12:00:00+02:00 kendi farklarını taşır ve belirsizlik içermez.
  • Saatsiz 2024-05-01, UTC gece yarısı olarak kabul edilir.
  • 2024-05-01T12:00 ve 2024-05-01 12:00, yani saat içeren ama fark içermeyen bir tarih, yerel saatiniz olarak kabul edilir.

Yani yazın Berlin'deyseniz 2024-05-01 ile 2024-05-01 00:00 arasında iki saat fark vardır. Bir sunucu veya API için dönüştürürken tahmine yer bırakmamak için Z veya açık bir fark ekleyin.

May 1, 2024 12:00 gibi diğer formatlar tarayıcının tarih ayrıştırıcısına bağlıdır ve Chrome, Firefox ve Safari arasında farklı davranabilir. 01/05/2024 gibi günün önce geldiği formatlar ABD tarzında ay önce olarak okunur ya da reddedilir; bunlardan kaçının.

Bilmeye değer tuzaklar

  • Artık saniyeler. Unix zamanı her günün tam olarak 86.400 saniye olduğunu varsayar. 1972'den beri eklenen 27 artık saniye sayılmaz; bu yalnızca hassas bilimsel zamanlamada önemlidir.
  • 2038 yılı problemi. Unix zamanını işaretli 32 bit tamsayı olarak saklayan sistemler 2147483647 değerinde taşar; bu 19 Ocak 2038, 03:14:07 UTC'dir. Görmek için bu sayıyı yapıştırın. Modern 64 bit sistemler etkilenmez, ancak eski gömülü cihazlar ve dosya formatları etkilenebilir.
  • Saat kayması. Bir JWT "henüz geçerli değil" veya "süresi dolmuş" diye reddedilirse, iat ve exp değerlerini sayfanın üstündeki canlı Şu anki Unix zamanı ile karşılaştırın. Birkaç dakikalık fark, kötü bir token'dan çok yanlış ayarlanmış bir saate işaret eder.

Bir token'ın alanlarını okumak için orta kısmını Base64 kodlayıcı ve çözücü ile çözün ve JSON'u JSON formatlayıcı ve doğrulayıcı ile düzenleyin. Dönüştürmeler tarayıcınızda, onun kendi saati ve saat dilimi ayarlarıyla çalışır.

SSS

Saniye mi milisaniye mi?

Birim, büyüklüğe göre otomatik algılanır: 100 000 000 000'dan küçük değerler saniye, 14 haneye kadar olanlar milisaniye, 15–17 hane mikrosaniye, daha uzunlar nanosaniye sayılır.

Hangi tarih biçimleri kabul edilir?

ISO 8601 (2024-05-01T12:00:00Z), 2024-05-01 12:00 ve tarayıcınızın Date ayrıştırıcısının anladığı her şey.

Hangi saat dilimi kullanılıyor?

Hem UTC hem tarayıcınızın saat dilimi gösterilir.

Sunucuya bir şey gönderiliyor mu?

Hayır. Dönüştürme tarayıcınızda çalışır.

İlgili araçlar