Avatar billede iceyblue Nybegynder
02. april 2004 - 00:34 Der er 3 kommentarer

DataTime datoer

Hejsa...

Jeg benytter en DateTimePicker i min win form...

Jeg gemmer datoen som en string i databasen....men hvis jeg vil kunne forespørge direkte på den om den fx. ligger imellem 2 andre dato'er fra mit program af...så er den vel nød til at blive gemt som en dato......?......

Derudover...Hvordan ser koden ud for at finde ud af dette? Lige nu har jeg nemlig også gemt datoen som såkaldte "ticks" men det er vel ikke nødvendigt....

mvh. IceyBlue
Avatar billede stefan_v Nybegynder
02. april 2004 - 13:11 #1
Hvis du via SQL vil lave en forespørgsel på datoerne (fx dato1 > dato2) skal de i databasen være gemt i et datoformat.

C# er såvidt ligeglad med om det er i et datoformat. Dog er det ikke helt ligegyldigt, hvordan datoen er sat op.

Henter du en dato ind fra DB Skal du gemme den i en DateTime-variabel
DateTime myDate;

Fra databasen kan du så sige: myDate = DateTime.Parse(myReader["Dato"].ToString());

DateTime objektet kan du formaterer on-the-fly til et hvilket som helst format du vil... Kig engang på MSDN under DateTime.ToString(string)...

Dit spg. er for mig lidt "utydeligt" - måske kunne du uddybe lidt... Har på fornemmelsen at jeg har skudt heelt forbi :-/
Avatar billede magune Nybegynder
02. april 2004 - 13:45 #2
En kodestump ... :-)

DateTime kan "det hele" :-)


Her tager jeg udgangspunkt i at du gerne må gemme datoer i databasen som strenge .. men så kan du naturligvis ikke udnytte dem i SQL-querys. Det behøver du måske heller ikke hvis ikke du alligevel SELECT'er på datoerne.

Skulle du få bruge for at sammenligne to tidsrum for overlap - så skriv lige igen - det har jeg også en  stump kode til :-)
[ int CheckTimeslip ( DateTime starttimeP1, DateTime endtimeP1, DateTime starttimeP2, DateTime endtimeP2]


C#
-----------------------------------
using System;

namespace TestStuff
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            string dato = "12.3.2004 16:00";
            DateTime sometimeago = DateTime.Parse( dato );

            int a = DateTime.Compare( DateTime.Now, sometimeago);
            System.Console.WriteLine(" resultat {0}", a.ToString() );

                        // Eksempel 2
            DateTime nu = DateTime.Now;
            System.Console.WriteLine(" resultat {0}", DateTime.Compare( DateTime.Now, nu ) );
            // Eksempel 3 laver du selv!
                        // Guess the rest :-) - giver -1 !
        }
    }
}
Avatar billede stefan_v Nybegynder
14. september 2006 - 14:49 #3
Lukkes?
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