Hämtar ut rådata i tider som ligger i formatet h:mm:ss från en databas. Nu skulle jag behöva addera och subtrahera olika tider i dessa format och få fram resultat i samma format. Är det någon som har en idé hur man kan göra? Har själv spånat på att man lägger in dagens datum så man får datetime-format och räknar en datediff, men är osäker på det. Gjorde en egen variant. Utnyttjade TimeSpan som kan subtrahera tider: Lite snyggare är det allt :) Onekligen snyggare, men problemet att omvandla 3:25:50 till 3, 25, 50 kommer ju då :( Aldrig blir folk nöjda :)Tidsräkning
    
    Sv: Tidsräkning
    
    
<code>
        DateTime dt1 = Convert.ToDateTime(TextBox1.Text);
        DateTime dt2 = Convert.ToDateTime(TextBox2.Text);
        TimeSpan TS = dt1.Subtract(dt2);
        Msg.Text = "Tidsskillnaden är " + TS;
</code>
Utnyttjade detta genom att subtrahera med 0 så att jag kan bryta ut varje tidsenhet och sedan addera:
<code>
        TimeSpan TS2 = dt1.Subtract(Convert.ToDateTime("0:00:00"));
        TimeSpan TS3 = dt2.Subtract(Convert.ToDateTime("0:00:00"));
        int tim1 = Convert.ToInt32(TS2.Hours);
        int min1 = Convert.ToInt32(TS2.Minutes);
        int sek1 = Convert.ToInt32(TS2.Seconds);
        int tim2 = Convert.ToInt32(TS3.Hours);
        int min2 = Convert.ToInt32(TS3.Minutes);
        int sek2 = Convert.ToInt32(TS3.Seconds);
        int tim3 = tim1+tim2;
        int min3 = min1+min2;
        int sek3 = sek1+sek2;
        while (sek3 >= 60)
        {
            min3 = min3 + 1;
            sek3 = sek3 - 60;
        }
        while(min3 >= 60)
        {
            tim3 = tim3+1;
            min3 = min3 - 60;
        }
        string Minuter;
        string Sekunder;
        if (min3 < 10)
        {
            Minuter = "0" + Convert.ToString(min3);
        }
        else
        {
            Minuter = Convert.ToString(min3);
        }
        if (sek3 < 10)
        {
            Sekunder = "0" + Convert.ToString(sek3);
        }
        else
        {
            Sekunder = Convert.ToString(sek3);
        }
        Msg2.Text = "Tidssumman är " + tim3 + ":" + Minuter + ":" + Sekunder;
</code>
Någon som kanske har en snyggare lösning?Sv:Tidsräkning
    
    
            TimeSpan ts = new TimeSpan(3, 25, 50);
            TimeSpan ts1 = new TimeSpan(5, 34, 9);
            TimeSpan ts2 = ts1.Subtract(ts);
            TimeSpan ts3 = ts.Add(ts1);
            Console.WriteLine("Tidskillnaden är: " + ts2.ToString());
            Console.WriteLine("Tidsumman är: " + ts3.ToString());
    Sv: Tidsräkning
    
    Sv:Tidsräkning
    
    
TimeSpan ts = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
- M