Saniyeden zaman bulma

Soru : Saniye cinsinden girilen bilgiyi saat:dakika:saniye şeklinde yazdırınız.
 
Cevap: Hemen programlamaya geçmeden önce kağıt kalem kullaranarak çözmeye çalışınız. Bir saatte 60 dakika var, her dakika da 60 saniye olduğuna göre bir saatte 60*60=3600 saniye vardır. O zaman verilen saniyeyi 3600'e bölersek kaç saat olduğunu buluruz. Diyelim ki 5000 saniye girildi, 3600'e bölersek 1 çıkacaktır. Kalan miktarı ise 60'a bölüp kaç dakika olduğunu bulacağız.

Bir sayının bir sayıya bölümünden kalanı bulmak için mod işlemi kullanıyorduk. 5000 % 3600 = 1400 çıkacaktır. 1400/60 bize dakika sayısını yani 23'ü verecek. 1400-(23*60) veya 1400 %23'den 1400'ün 23'e bölünce elde edilecek kalanı verecektir, bu da kalan saniye olacak. 

Şimdi kodlamaya geçebiliriz. Önce Asp.net'de bir WebForm açıp, form üzerine bir textbox bir buton ve bir label yerleştirelim. Aslında bir Console uygulaması açıp klavyeden saniye değerini de alıp yapabilirsiniz. 



 

 protected void btnHesapla_Click(object sender, EventArgs e)
        {
            int saniye = int.Parse(txtSaniye.Text);
            int saat=0, dakika=0;

            if (saniye>=3600)
                 saat = saniye / 3600;
 
            if (saniye%3600>0)
                dakika = (saniye - (saat * 3600)) / 60;
           
            saniye = saniye - ((saat * 3600) + (dakika * 60));
            lblZaman.Text = saat.ToString() + ':' + dakika.ToString() +':'+ saniye.ToString();
        }



Gördüğünüz gibi 5000 girince 1 saat 23 dakika, 20 saniye buldu. Sadece 500 girince saat  0:8:20 yazacaktır. Yani 8 dakika 20 saniye olarak bulacaktır.  

Mutlu kodlamalar,
Kasım, 2018
Bookmark and Share