Küresel işbirliği ve yazılım geliştirmede zaman işleme sıkça ihtiyaç duyulan bir konudur: New York'taki mesai arkadaşınızın şu anda saatin kaç olduğunu, aramak için uygun olup olmadığını bilmeniz, bir API'den gelen sayısal zaman damgasını insan tarafından okunabilir tarihe çevirmeniz veya önemli bir dönüm noktası için geri sayım ayarlamanız gerekebilir. Bu sık kullanılan işlevleri anında çalışan tek bir sayfada birleştirmek, telefon saatine bakmaktan veya konsol kodu yazmaktan çok daha verimlidir.
Bir Dünya Saatinin temel değeri, birden fazla saat dilimindeki mevcut zamanı aynı anda görmenizi sağlamaktır. İnsan beyni saat dilimi aritmetiğinde yetersizdir—New York UTC-5, Londra UTC+0, Tokyo UTC+9—özellikle yaz saati karmaşıklıklarıyla zihinsel hesaplama yapmak hataya açıktır. Şehir saatlerini gündüz/gece göstergeleriyle görsel olarak görüntülemek, birinin çalışma saatlerinde olup olmadığını anında görmenizi sağlar ve saat dilimleri arası iletişim ve planlama verimliliğini önemli ölçüde artırır. Araç, daha sezgisel zaman algısı için özel olarak düz sayılar yerine hareketli ibreli SVG ile çizilmiş analog saatler kullanır.
Unix Zaman Damgası (Epoch Time olarak da adlandırılır), bilgisayarda en evrensel zaman temsilidir, 1 Ocak 1970 00:00:00 UTC'den belirli bir ana kadar geçen toplam saniye (veya milisaniye) olarak tanımlanır. Avantajları saat diliminden bağımsız olması, kompakt sayısal formu ve kolay hesaplamasıdır—hangi zamanın daha önce olduğunu karşılaştırmak sadece sayıları karşılaştırmayı gerektirir, zaman farklarını hesaplamak basit çıkarmadır. Bu nedenle veritabanları, API yanıtları ve günlük sistemleri neredeyse evrensel olarak zaman damgalarını kullanır. Ancak insanlar 1711699200 gibi sayıları gördüklerinde bunun hangi tarih olduğunu bilemezler; dönüştürme araçları bu 'makine dili → insan dili' çeviri sorununu çözer.
Saniye ve milisaniye iki yaygın zaman damgası hassasiyetidir: saniye zaman damgaları 10 hanelidir (örneğin 1711699200), milisaniye zaman damgaları 13 hanelidir (örneğin 1711699200000). JavaScript'in Date.now() işlevi milisaniye döndürür; birçok arka uç API'si saniye kullanır. İkisi 1000 kat farklılık gösterir—dönüşüm sırasında birimi yanlış almak tamamen yanlış zamanlar üretir (~40+ yıl farkla), bu nedenle aracın bu tuzakları önlemek için özel birim geçiş düğmeleri vardır.
Geri sayım basit görünebilir ancak son derece sık kullanılır: odaklanmış çalışma için 25 dakikalık bir Pomodoro ayarlayın, toplantılardan önce 5 dakikalık hatırlatma, lansmanlardan önce 1 saatlik hazırlık veya günler sayılırken aciliyet oluşturmak için önemli tarihler (lansmanlar, sınavlar, yıldönümleri) için uzun vadeli geri sayımlar. Yerleşik hızlı ön ayarlar (5dk, 15dk, 30dk, 1sa, yarın, gelecek hafta) çoğu geçici zamanlama senaryosunu kapsar—manuel tarih seçimi olmadan tek tıklamayla başlar.
Neden tüm hesaplamalar tarayıcıda yerel olarak çalışıyor? Birincisi, hız: saati her saniye güncellemek ağ istekleri gerekmez, anında yanıt verir. İkincisi, gizlilik: hangi zamanları kontrol ettiğiniz ve hangi geri sayımları ayarladığınız asla bir sunucuya ulaşması gerekmez. Üçüncüsü, güvenilirlik: internet olmadan çalışır, ağ bağımlılığı yoktur. Dördüncüsü, doğruluk: tarayıcının yerleşik IANA saat dilimi veritabanını doğrudan kullanarak yaz saati ve saat dilimi değişikliklerini otomatik olarak işler, kendi saat dilimi tablolarınızı korumaktan daha güvenilirdir.
IANA Saat Dilimi Veritabanı (tz database / zoneinfo olarak da adlandırılır), topluluk tarafından sürdürülen, dünya çapındaki tüm saat dilimleri için geçmiş ve gelecekteki kural değişikliklerini—yaz saati başlangıç/bitiş zamanları ve fark ayarlamaları dahil—içeren küresel standart saat dilimi kural tabanıdır. Tarayıcılar bu verileri Intl API aracılığıyla sunar, böylece aracın küresel saat dilimlerini doğru şekilde işlemek için yüzlerce KB saat dilimi veri dosyası taşıması gerekmez—bu, modern tarayıcıların yerleşik yeteneklerinin bir avantajıdır.
Bu aracın yerel cihazınızın saatine dayalı olarak hesaplama yaptığını unutmayın; bilgisayarınızın/telefonunuzun saati yanlış ayarlanmışsa tüm sonuçlar kayacaktır. Ek olarak, geçmiş zamanlar için ters geri sayımlar desteklenmez (yalnızca gelecek zaman geri sayımları). Geçmiş saat dilimi kuralları (örneğin, yıllar önceki yaz saati) tarayıcınızın yerleşik tz database sürümüne bağlıdır; yakın zamanlar genellikle doğrudur.