Milisaniyeden SS:DD:SS Dönüştürücü nedir?
Bu hesaplayıcı, milisaniye cinsinden verilen bir süreyi saat, dakika ve saniye olarak bildiğimiz klasik saat biçimine (SS:DD:SS) çevirir; geriye kalan milisaniyeleri de ayrıca gösterir. Milisaniye; yazılım geliştirmede, kayıt (log) tutmada, performans ölçümlerinde ve kronometre/zamanlayıcı uygulamalarında sıkça kullanılır. Geçen süre çoğunlukla tek bir büyük tam sayı olarak saklandığından, bu sayıyı okunabilir bir zamana çevirmek yorumlamayı çok daha kolaylaştırır.
Nasıl kullanılır?
Çevirmek istediğiniz toplam milisaniye değerini girin; hesaplayıcı karşılığını anında SS:DD:SS biçiminde verir ve saat, dakika, saniye ile kalan milisaniye dökümünü ekranda gösterir. Örneğin 3.661.500 ms'lik bir kronometre değeri, 500 ms artıyla birlikte 01:01:01 olur.
Formülün açıklaması
Dönüşüm, tam sayı bölmesi ve mod (kalan) işlemine dayanır. Bir saatte 3.600.000 ms, bir dakikada 60.000 ms ve bir saniyede 1.000 ms vardır. Saat değeri, toplamın 3.600.000'e bölünmesiyle (aşağı yuvarlanarak) bulunur. Tam saatler çıkarıldıktan sonra kalan kısım 60.000'e bölünerek dakikalar elde edilir. Geriye kalan miktar 1.000'e bölündüğünde saniyeler bulunur; son kalan değer de artan milisaniyelerdir.
$$\begin{gathered} \text{HH:MM:SS} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{HH} &= \left\lfloor \frac{\text{Milliseconds}}{3600000} \right\rfloor \\ \text{MM} &= \left\lfloor \frac{\text{Milliseconds} \bmod 3600000}{60000} \right\rfloor \\ \text{SS} &= \left\lfloor \frac{\text{Milliseconds} \bmod 60000}{1000} \right\rfloor \end{aligned} \right. \end{gathered}$$
Örnek hesaplama
3.661.500 ms değerini ele alalım. Saat = aşağı_yuvarla(3.661.500 / 3.600.000) = 1. Kalan = 61.500 ms. Dakika = aşağı_yuvarla(61.500 / 60.000) = 1. Kalan = 1.500 ms. Saniye = aşağı_yuvarla(1.500 / 1.000) = 1. Kalan ms = 1.500 mod 1.000 = 500. Sonuç: 01:01:01 ve 500 ms.
$$\text{Saat} = \left\lfloor \frac{3{,}661{,}500}{3{,}600{,}000} \right\rfloor = 1$$$$\text{Dakika} = \left\lfloor \frac{61{,}500}{60{,}000} \right\rfloor = 1$$$$\text{Saniye} = \left\lfloor \frac{1{,}500}{1{,}000} \right\rfloor = 1$$$$\text{Kalan ms} = 1{,}500 \bmod 1{,}000 = 500$$
Sıkça Sorulan Sorular
Değerim 24 saati aşarsa ne olur? Saat alanı durmadan artmaya devam eder (örneğin 90.000.000 ms = 25:00:00). Bu bir gün saati değil, bir süre olduğundan 24 saatte başa sarmaz.
Ondalıklı milisaniye değerleri destekleniyor mu? Hesaplayıcı, çevirmeden önce girdiyi tam milisaniyeye aşağı yuvarlar; dolayısıyla milisaniyenin altındaki kesirler atılır.
Bir dakikada kaç milisaniye vardır? Bir dakikada 60.000 milisaniye, bir saatte ise 3.600.000 milisaniye bulunur.