Unix zaman damgalarını anlamak
Unix zaman damgaları yalnızca sayı oldukları için basit görünür, ancak web çalışmasında neredeyse her yerde karşınıza çıkar. API'ler, kayıtlar, dışa aktarımlar, kuyruk mesajları ve olay kayıtları bunlara dayanır. Biçim, 1 Ocak 1970 UTC'den itibaren saniyeleri (veya milisaniyeleri) sayan tek bir tam sayıdır.
Avantajı tutarlılıktır. Zaman damgası kompakttır, depolama düzeyinde saat diliminden bağımsızdır ve yazılım için karşılaştırması, sıralaması veya iletmesi kolaydır. Zorluk ise tek başına okunabilir olmamasıdır: 1710153600 gibi bir değer, tarihe çevrilmeden hiçbir şey ifade etmez.
Bu nedenle zaman damgası araçları deneyimli geliştiriciler için bile faydalı kalır. Çoğunlukla hızlı, pratik soruları yanıtlamanız gerekir: bu değer saniye mi milisaniye mi? UTC'de ve yerel saatte hangi tarihi temsil ediyor? Test isteği için belirli bir tarihe denk gelen zaman damgası nedir?
Bu ne zaman işe yarar
created_atveyaexpires_atgibi sayısal zaman alanları döndüren API yanıtlarını gözden geçirmek.- Olay zamanlarının ham Unix değerleri olarak saklandığı kayıtları incelemek.
- Arka uç servis ile tarayıcı arasındaki saat dilimi sorunlarını hata ayıklamak.
- Bir istek veya yükü test etmeden önce insan tarihini Unix zamanına çevirmek.
Pratik örnek
Bir API'nin JSON yükünde 1710153600 gönderdiğini düşünün. İlk bakışta bu sayı pek bir şey ifade etmez, ancak dönüştürüldüğünde belirli bir UTC tarihine ve sizin saat diliminizdeki yerel bir tarihe karşılık geldiği görülür. Bu hemen, değerin mantıklı mı yoksa saatler, günler veya bin katlık bir ölçek sorunuyla kaymış mı olduğunu söyler.
Burada milisaniyeler de önemlidir. 1710153600000 gibi bir değer aynı anı temsil eder ama saniye yerine milisaniye kullanır. Birini diğeri sanarsanız tarihiniz tamamen yanlış olur.
Yaygın kullanım senaryoları
- Bir yükteki zaman damgası alanının saniye mi milisaniye mi kullandığını kontrol etmek.
- UTC'deki bir olay zamanını kullanıcıların yerel saatte gördükleriyle karşılaştırmak.
- Test ve demolar için örnek son kullanma değerleri oluşturmak.
- Arka uç ve ön uç kodun aynı şekilde dönüştürdüğünü doğrulamak.
- Ayrı bir konsol veya betik açmadan eski dışa aktarılmış verileri okumak.
Tarayıcıdaki dönüştürücüyü kullanın
Bunu saniyeler içinde uygulamak için tarayıcıdaki aracı kullanın.
SSS
Zaman damgaları neden UTC kullanır?
UTC, yazılıma sabit bir referans noktası verir. Okunabilir yerel sürüm saat dilimine göre değişebilir ama saklanan zaman damgası değişmez.
Bazı zaman damgaları neden 10, bazıları 13 basamaklıdır?
On basamak genellikle saniye anlamına gelir. On üç basamak genellikle milisaniye anlamına gelir.
Her zaman hem UTC hem de yerel saat gerekir mi?
Hata ayıklarken genellikle evet. UTC sistemleri karşılaştırmaya, yerel saat ise kişinin gerçekten ne gördüğünü doğrulamaya yardımcı olur.