Avatar billede kdkho Nybegynder
22. marts 2001 - 10:24 Der er 6 kommentarer og
1 løsning

Hvordan konverteres en string til en dato

Jeg indlæser en tekstfil i et array. En af kolonnerne i arrayet skal kontrolleres for om, det er en korrekt dato, men i og med der er tale om tekst/variant kan jeg ikke formatere det til en dato for kontrol. Nogle gange ser datoen måske sådan ud:
20010101 andre gang kan den se sådan ud
01012001 og måske også andre versioner. Hvordan kan jeg kontrollere om ovennævnte er en dato?????


Avatar billede moses Praktikant
22. marts 2001 - 11:03 #1
Hvis du kan stille en teoretisk korrekt beskrivelse op, så skal jeg vise dig, hvordan du programmerer dig ud af det.
Men sålænge du ikke med sikkerhed kan sige, hvilke forskellige kombinationer af dag, måned og år du vil kunne komme ud for, så er der heller ikke nogen løsning fordi:

Hvordan skal du vælge at tyde denne:

20012002
A) 20. februar 2001
B) 20. januar 2002
Avatar billede skwat Praktikant
22. marts 2001 - 11:16 #2
specifikt for den dato du har der kan du gøre således
dato = mid(\"20010101\", 6,2) & mid(\"20010101\", 4,2) & left(\"20010101\", 4)

der ud over kan du lave om på formatet ved hjælp af format( a , b ) kommandoen
Avatar billede moses Praktikant
22. marts 2001 - 11:23 #3
Det hjælper jo bare ikke noget, når du ikke på forhånd ved, hvilke positioner i strengen, der betyder hvad.

Pånær en lille fejl i din sætning (\",6,2\" skal være \",7,2\") så antager du at de 4 første tegn er året. Hvem siger det er tilfældet ??
Det kan da lige så godt være de sidste 4 tegn, der angiver året !!!
Det er lige netop det, der gør sagen umulig !!
Avatar billede nolle_k Nybegynder
22. marts 2001 - 11:30 #4
Jeg vil også mene, at hvis ikke formatet er kendt på forhånd er det en TOTAl umulig opgave!!
Avatar billede nolle_k Nybegynder
22. marts 2001 - 11:31 #5
Eller kan du bare konvertere strengen via CDate! Så sørger maskinen for at der kommer en Dato ud af strengen men så vil forskellige maskiner fortolke datoen forskelligt afhængigt af dato formatet!!

//Nolle_K
Avatar billede kdkho Nybegynder
22. marts 2001 - 12:48 #6
Jeg siger mange tak for svarene. Jeg har også konstateret, at det er en umulig opgave når man ikke ved hvorledes datoen står. Med hensyn til CDate, så har jeg prøvet denne funktion, men feks. på ovennævnte eksempler fejler den.
Avatar billede moses Praktikant
22. marts 2001 - 13:19 #7
Husk lige at fordele point og lukke opgaven  :-)
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
Kurser inden for grundlæggende programmering

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