Unix zamanı nedir?

Unix zamanı (epoch zamanı veya POSIX timestamp olarak da adlandırılır), 1 Ocak 1970 00:00:00 UTC'den bu yana geçen süreyi sayar. Farklı sistemler bunu farklı birimlerle sayar: Unix shell'leri, PHP ve çoğu veritabanı saniye kullanır; JavaScript ve Java milisaniye kullanır; Python'un time.time_ns() işlevi, Go ve InfluxDB nanosaniye sunar; birçok izleme ve günlük kaydı aracı ise mikrosaniye kullanır. Aynı an saniye cinsinden 1700000000, nanosaniye cinsinden ise 1700000000000000000 değerine karşılık gelir; bu nedenle birimin karıştırılması tarihi binlerce yıl kaydırır.

Araç açıklaması

Bu araç, bir Unix timestamp'ini saniye, milisaniye, mikrosaniye ve nanosaniye arasında dönüştürür ve karşılık geldiği tarihi gösterir. Bir timestamp yapıştırdığınızda birim uzunluğuna göre algılanır veya birimi kendiniz seçebilirsiniz. Normal bir JavaScript sayısı için fazla büyük olan nanosaniye timestamp'leri de dahil olmak üzere her dönüşüm kesindir.

Özellikler

  • Saniye, milisaniye, mikrosaniye ve nanosaniye arasında tek adımda dönüşüm yapar
  • Girdi birimini basamak sayısından algılar veya birimi kendiniz seçmenize olanak tanır
  • 19 basamaklı nanosaniye değerlerinde bile yuvarlama hatası olmadan tam hassasiyeti korur
  • Kesirleri (1700000000.123), 1970 öncesindeki tarihler için negatif değerleri ve bilimsel gösterimi (1.7e9) kabul eder
  • Tamsayı bekleyen API'ler için isteğe bağlı tam sayı çıktısı sunar
  • Tarihi UTC cinsinden, nanosaniyeye kadar hassasiyetle ISO 8601 formatında ve yerel saat dilinizde gösterir
  • İhtiyacınız yoksa mikrosaniye ve nanosaniye alanlarını gizler

Nasıl çalışır?

Timestamp, kesin bir ondalık sayı olarak okunur ve kayan nokta yerine keyfi hassasiyetli tamsayılar kullanılarak nanosaniye cinsinden bir tamsayı olarak saklanır. Her çıktı, bu değeri kendi biriminin büyüklüğüne böler ve kesin sonucu yazar; böylece milisaniyeleri saniyeye dönüştürmek, yuvarlanmış bir değer yerine 1700000000.123 sonucunu verir. "Yalnızca tam sayılar" seçeneğiyle sonuç, içinde bulunduğu birime aşağı doğru yuvarlanır; Unix time 1970 öncesindeki tarihleri işlerken de aynı yöntemi kullanır: -1.5 saniye, -2 olur.

Birim otomatik olarak algılandığında araç, 1973 ile 5138 arasındaki bir tarihi varsayar: 11 basamağa kadar olan değerler saniye, 12 ila 14 basamaklı değerler milisaniye, 15 ila 17 basamaklı değerler mikrosaniye, 18 veya daha fazla basamaklı değerler ise nanosaniye olarak okunur.

İpuçları

  • Uzunluğa göre algılama, Mart 1973 öncesine ait kısa bir milisaniye timestamp'i ile saniye cinsinden bir timestamp'i birbirinden ayıramaz. Tarih yanlış görünüyorsa girdi birimini kendiniz seçin.
  • "Şimdi", kullandığınız birimde geçerli zamanı doldurur. Tarayıcılar zamanı yalnızca milisaniye hassasiyetinde verir; bu nedenle mikrosaniye ve nanosaniye değerlerinin son basamakları sıfır olur.
  • Girdideki boşluklar ve alt çizgiler yok sayılır; böylece 1_700_000_000 gibi değerleri yapıştırabilirsiniz.