Dato format (eng/dan)

Tags:    visual-basic

Hej

Jeg er ved at lave et program der skal kontrollere en tidligere angivet dato i et andet program. Det andet program skriver datoen med engelsk formatering. Eks. 13-oct-05 eller 10-13-05, problemet er at mit program kører med dansk dato, så når den skal hente datoen ind, har den problemer med oct og may, da dette jo ikke er måneder på dansk. Den kommer derfor med "Type Mismatch" når den henter en engelsk dato.

Er der nogen der kan hjælpe med dette?

Mattias



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Jeg tænkte om man eventuelt kunne sætte mit program til at bruge engelsk datoformatering (ved bare ikke hvordan?)


dato1 = Format(Date, "dd-mmm-yyyy")
'prøv og se om ovenståen giver samme virkning

eller er det forid den leve med okt, og ikke oct?

-Thomas


**************************************
Hvis mennesker er så kloge, hvorfor ødelægger
vi så os selv og den verden vil lever i?
**************************************
I mod softwarer patenter
http://www.nosoftwarepatents.com/

-------------------------------------------------------
Visual Basic noget for dig?
tjek Visual Basic-Gruppen
http://www.udvikleren.dk/groups/?gid=41



En simpel løsning ville være at hente datoen ind som en streng, og så bruge replace funktionen to gange til først at erstatte "oct" med "okt", og derefter at erstatte "may" med "maj"... Herunder har jeg vist hvordan en sådan funktion kunne se ud:

Public Function ConvertEngDates(ByVal EngDate As String) As Date
ConvertEngDates = Replace(Replace(EngDate, "oct", "okt"), "may", "maj")
End Function

Her er et eksempel på hvordan du kan kalde funktionen:

Dim Ex As Date
Ex = ConvertEngDates("13-may-05")
MsgBox Format(Ex, "dd-mm-yyyy")

// Lærenem er ham, der kan stille de rigtige spørgsmål til den rigtige person...



Hej

Jeg er ved at lave et program der skal kontrollere en tidligere angivet dato i et andet program. Det andet program skriver datoen med engelsk formatering. Eks. 13-oct-05 eller 10-13-05, problemet er at mit program kører med dansk dato, så når den skal hente datoen ind, har den problemer med oct og may, da dette jo ikke er måneder på dansk. Den kommer derfor med "Type Mismatch" når den henter en engelsk dato.

Er der nogen der kan hjælpe med dette?

Mattias


Må vi eventuelt se lidt af din kode ?





Må vi eventuelt se lidt af din kode ?


dato1 = Format(Date, "dd-mm-yyyy")
.SelectText 16, 36, 16, 46
' kontrollerer om datoen er før idag.
.Copy rcSelection
DatoTmp = Application.GetClipboardText
If DatoTmp < dato1 Then

Den dato som den kopierer fra det andet program står som "dd-mmm-yy" (eks 12-oct-06)

håber nogen kan hjælpe...



Jeg tænkte om man eventuelt kunne sætte mit program til at bruge engelsk datoformatering (ved bare ikke hvordan?)





dato1 = Format(Date, "dd-mmm-yyyy")
'prøv og se om ovenståen giver samme virkning

eller er det forid den leve med okt, og ikke oct?

-Thomas




Det har jeg forsøgt uden held. Den forstår ikke teksten OCT, da det ikke er en måned ifølge den danske kalender.



t