12 puan yazan winterjung 2022-11-26 | 4 yorum | WhatsApp'ta paylaş
  • Bunun UTC'nin (Eşgüdümlü Evrensel Zaman) kötü olduğunu söylemek olmadığı belirtiliyor
  • Genel Ağırlıklar ve Ölçüler Konferansı, 2035'ten sonra UTC'de artık artık saniye kullanılmamasına karar verdi
  • Artık saniyeler Dünya'nın dönüşüyle ilişkilidir; bu da düzensizdir ve öngörülemez
  • UTC dışında önemli zaman standartlarından biri de artık saniye içermeyen TAI'dir (Uluslararası Atomik Zaman)
  • UTC çoğunlukla mühendislik amaçları için kullanılmadığından artık saniye içermesi kabul edilebilir; ancak Unix zamanı artık saniyeler nedeniyle doğrusal olmaktan çıktı ve büyük karışıklığa yol açtı

TAI Unix zamanı

  • 1 Ocak 1970 00:00:10'dan başlayan TAI Unix zamanı doğrusal olarak artar ve faydalı matematiksel özelliklere sahiptir, ancak popüler değildir
  • Unix zamanından farklıdır ve onun yerine doğrudan kullanılamaz
  • Unix zamanına kıyasla
    • Doğrusal olduğu için t + 1 saniye, t + 100000000 saniye gibi değerlerin hangi ana karşılık geldiğini hesaplamak çok kolaydır. Unix zamanında ise gelecekte artık saniyelerin ne zaman olacağı bilinmediğinden bu hesaplanamaz, yalnızca tahmin edilebilir
    • İki zaman damgası arasındaki fark kolayca hesaplanabilir
    • Tarih veya saat hesaplamak zordur. Genellikle TAI zamanı değil UTC zamanı bilmek istediğimiz için artık saniyeleri hesaba katmak gerekir
    • Belirsiz değildir ve yalnızca geçerli değerler döndürür

Büyük bir sorun yaşamadan TAI Unix zamanına geçmek

  • POSIX standardında zamanın Unix zamanı, TAI+C Unix zamanı ve eski Unix zamanı olarak üçe ayrılması öneriliyor
  • Eski Unix zamanı, belirli bir andan önce mevcut Unix zamanını, sonrasında ise TAI+C Unix zamanını döndürür
  • Artık saniyeler çevrimiçi kaynaklara bağlı olduğundan, artık saniyelerin kaldırılacağı 2035 yılına göre geçiş planlamak mantıklıdır

4 yorum

 
galadbran 2022-12-01

Biraz daha ayrıntılı okumam gerektiğini düşündüğüm için aceleyle bir çeviri yapmayı denedim!

https://weblog2.wafe.kr/posts/translation-unix-time-bad/

 
galadbran 2022-11-26

Burada Unix zamanından kastedilen şey, yaygın olarak kullanılan Unix timestamp olsa gerek, değil mi?
Sürekli kullandığımız için hiç düşünmemiştim ama o zaman Linux gibi işletim sistemleri, geçmiş artık saniyeleri yansıtarak timestamp veriyor demek oluyor? İnanılmaz bir şeymiş...

 
tribela 2022-11-27

Tam tersine. Artık saniye, gerçek bir saniyeyi hiç yaşanmamış bir zamana dönüştürmeye daha yakındır; bu yüzden UTC'ye ayarlanmış bir OS'de sadece timestamp ile hesaplama yaparsanız Unix time elde edersiniz, tersine TAI değeri için gerçekten yaşanmış artık saniyeyi eklemeniz gerekir.

 
winterjung 2022-11-26