- 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
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/
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ş...
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.