Umut D.

Umut D.

Powered by Jekyll & Github

  • Coding-Challenges

  • Soru

    Programcıya saniye (girilenSaniye) içeren bir sayı veriliyor. Girilen bu saniyenin ise (HH:MM:SS) formatına dönüştürülerek gösterilmesi isteniyor.

    Örnek

    Girdi Çıktı
    girilenSaniye: 360 Sonuç: 00:06:00
    girilenSaniye: 10000 Sonuç: 02:46:40

    Çözüm - C#

    using System;
     
    class Program
    {
        static void Main()
        {
            int girilenSaniye = 359999;
     
            // 1 Ocak 1970 den beridir geçen saniye sayısına denilen sayısal veri tipine Epoch/Unix zamanı denmekte 
            DateTime epochZamani = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
     
            // Epoch zamanına saniyeyi ekle
            DateTime sonuc = epochZamani.AddSeconds(girilenSaniye);
     
            // Mevcut sonuçları gün, dakika, saniyelere dönüştür
            int gun = (sonuc.Day - 1) * 24 + sonuc.Hour;
            int dakika = sonuc.Minute;
            int saniye = sonuc.Second;
     
            // Dönüştürülen sayıları 2 basamaklı decimal'ler olarak birleştir
            string zaman = gun.ToString("D2") + ":" + dakika.ToString("D2") + ":" + saniye.ToString("D2");
     
            Console.WriteLine(zaman);
            Console.Read();
        }
    }