Avatar billede huusom Nybegynder
22. september 2003 - 23:08 Der er 4 kommentarer og
1 løsning

Sikkert et basalt spørgsmål

Jeg har lavet to comboboxe med tidspunkter i..
8:30, 8:45, osv...
Dem skal jeg have lavet om til tal så de kan trækkes fra hinanden.

Men jeg kan ikke finde ud af at bruge Convert ordentligt.

Er der nogen der kan hjælpe...

Skal lige sige det er mit første C# program så jeg skal virkelig have det skåret ud i pap.
Avatar billede huusom Nybegynder
22. september 2003 - 23:15 #1
Fandt selv ud af det... undskyld ulejligheden
Avatar billede arne_v Ekspert
22. september 2003 - 23:19 #2
Her er et lille stykke illustrativt kode:

using System;

class MainClass
{
    public static void Main(string[] args)
    {
        string ts1 = "8:30";
        string ts2 = "8:45";
        DateTime t1 = DateTime.Parse(ts1);
        DateTime t2 = DateTime.Parse(ts2);
        Console.WriteLine(t1 + " " + t2);
        TimeSpan dt = t2.Subtract(t1);
        Console.WriteLine(dt);
        Console.WriteLine(dt.TotalSeconds);
    }
}
Avatar billede lemon Nybegynder
22. september 2003 - 23:22 #3
Her er éen måde at gøre det på. Funktionen returnerer hele minutter efter formlen timer * 60 + minutter og anvendes alá:

System.Windows.Forms.MessageBox.Show("Kl. 8:30 er der gået " + GetMinutes("8:30").ToString() + " minutter siden midnat.");

public int GetMinutes(string time)
{
    int loc = time.IndexOfAny(new char[] {':', '.'});
    if(loc == -1)
        throw new Exception("Tidsformatet overholder ikke reglen MM:SS eller MM.SS");
    return (int.Parse(time.Substring(0, loc)) * 60) + int.Parse(time.Substring(loc + 1));
}
Avatar billede odegaard Nybegynder
23. september 2003 - 20:48 #4
Hvad med "2:30" minus "22:00" ? :-)
Avatar billede arne_v Ekspert
23. september 2003 - 20:58 #5
Min kode håndterer det rimeligt fornuftigt:

using System;

class MainClass
{
    public static void Main(string[] args)
    {
        string ts1 = "8:30";
        string ts2 = "8:45";
        DateTime t1 = DateTime.Parse(ts1);
        DateTime t2 = DateTime.Parse(ts2);
        Console.WriteLine(t1 + " " + t2);
        TimeSpan dt = t2.Subtract(t1);
        Console.WriteLine(dt);
        Console.WriteLine(dt.TotalSeconds);
        ts1 = "22:00";
        ts2 = "2:30";
        t1 = DateTime.Parse(ts1);
        t2 = DateTime.Parse(ts2);
        Console.WriteLine(t1 + " " + t2);
        dt = t2.Subtract(t1);
        Console.WriteLine(dt);
        Console.WriteLine(dt.TotalSeconds);
        ts1 = "23/09/2003 22:00";
        ts2 = "24/09/2003 2:30";
        t1 = DateTime.Parse(ts1);
        t2 = DateTime.Parse(ts2);
        Console.WriteLine(t1 + " " + t2);
        dt = t2.Subtract(t1);
        Console.WriteLine(dt);
        Console.WriteLine(dt.TotalSeconds);
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester