none
int Datetime dönüsümü RRS feed

  • Soru

  • Elimizde bir integera tanimli 15000 sayisi var diyelim bu sayinin saniye oldugunu ve bu sayinin dönüsümünü saat dakika ve saniye seklinde datetimepicker veya textboxda gösterimini nasil yapabiliriz alttaki gibi birsey buldum bunu nasil kullanabilirim önerilerinizi paylasirsaniz sevinirim.

    public string timeformat(int time) {
        string hr, min;
        min = Convert.ToString(time % 100);
        hr = Convert.ToString(time / 100);
        if (hr.Length == 1) hr = "0" + hr;
        if (min.Length == 1) min = "0" + min;
        return hr + ":" + min;
    }

    9 Şubat 2016 Salı 09:24

Yanıtlar

  • 15000 saniyeyi saat dakika saniye göstermek istiyorsan TimeSpan kullanmalısın.

    var t = TimeSpan.FromSeconds(15000);
    var zaman = string.Format("{0:00}:{1:00}:{2:00}", t.Hours, t.Minutes, t.Seconds);

    gibi.


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    9 Şubat 2016 Salı 10:45
    Moderatör
  • 10 farklı yerde ;

    TimeSpan.FromSeconds(15000).ToString(@"hh\:mm\:ss")

    kullanabilirsin. Sana lazım olan şey FromSeconds. Sen zaten var olan methodu yeniden yazmaya çalışmışsın.


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen Serkan Canseven 10 Şubat 2016 Çarşamba 07:24
    9 Şubat 2016 Salı 13:07
    Moderatör

Tüm Yanıtlar

  • int sayi=15000;
    string sonuc;
    sonuc=timeformat(sayi);
    //sonuç=150:00
    şeklinde
    Yalnız bu sayıyı saat formatına çevirmek için.


    kdrgny@outlook.com



    • Düzenleyen KdrGny 9 Şubat 2016 Salı 09:41
    9 Şubat 2016 Salı 09:39
  • Amacını söylersen daha iyi yardımcı olabiliriz. Zira DateTime hali hazırda long/double olarak kullanılabilir.

    DateTime.Now.ToOADate() // double
    DateTime.Now.ToFileTime() //long

    Tersi

    DateTime.FromFileTime(130994849099747578)

    9 Şubat 2016 Salı 09:49
  • amacim elimdeki integer verisinde saniye var bu saniyeyi saat,dakika,saniye dönüsümünü yapip göstermek. 

    9 Şubat 2016 Salı 10:21
  • evet anladim isimi görmeyecek bu kullanim. 
    9 Şubat 2016 Salı 10:29
  • 15000 saniyeyi saat dakika saniye göstermek istiyorsan TimeSpan kullanmalısın.

    var t = TimeSpan.FromSeconds(15000);
    var zaman = string.Format("{0:00}:{1:00}:{2:00}", t.Hours, t.Minutes, t.Seconds);

    gibi.


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com


    9 Şubat 2016 Salı 10:45
    Moderatör
  • public string timeformat(int saniye)
            {
                string saat, dak,san;
                saat = Convert.ToString(saniye / 3600);
                dak =   Convert.ToString((saniye - ((saniye / 3600) * 3600)) / 60);
                san = Convert.ToString(saniye - ((saniye / 3600) * 3600) - (((saniye - ((saniye / 3600) * 3600)) / 60) * 60));
                return saat + ":" + dak + ":" + san;
            }
    Bu sekilde kullandim ama önay abininki gibide olabilirmis. tesekkür ederim cevaplar icin.


    9 Şubat 2016 Salı 12:26
  • @Önay'ın yöntemini kullan. Hem daha hızlı olacaktır. Hem daha esnek olacaktır. Hepsini geçtim projeden bir metot eksilecek.
    9 Şubat 2016 Salı 12:41
  • Metot olmasi benim isime geliyor cünkü böyle hesaplamam gereken 10 farkli saniye cinsinden süre var.
    9 Şubat 2016 Salı 12:59
  • 10 farklı yerde ;

    TimeSpan.FromSeconds(15000).ToString(@"hh\:mm\:ss")

    kullanabilirsin. Sana lazım olan şey FromSeconds. Sen zaten var olan methodu yeniden yazmaya çalışmışsın.


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen Serkan Canseven 10 Şubat 2016 Çarşamba 07:24
    9 Şubat 2016 Salı 13:07
    Moderatör