Avatar billede Slettet bruger
18. juni 2002 - 08:46 Der er 21 kommentarer og
1 løsning

Nedbrydning af dato i db

Hvordan hævled skal man nedbryde en dato i db.

Mit format i db er eksempelvis 2002-06-18 og jeg vil gerne vise det som 18-06-2002.

Anyone?
Avatar billede tmceu Praktikant
18. juni 2002 - 08:56 #1
Du kan bruge month, year og day funktionerne. Øjeblik, har en lille funktion...
Avatar billede cape Nybegynder
18. juni 2002 - 08:58 #2
FormatDateTime(Date[,NamedFormat])
Avatar billede tmceu Praktikant
18. juni 2002 - 08:59 #3
Function MyDate(varDate)
' Returnerer en dato formateret som DD-MM-YYYYY

dim intDay, intMonth, intYear

    If IsDate(varDate) Then
        intDay = Day(varDate)
        intMonth = Month(varDate)
        intYear = Year(varDate)

        If Len(intMonth) = 1 Then intMonth = "0" & intMonth
        If Len(intDay) = 1 Then intDay = "0" & intDay

        MyDate = intDay & "-" & intMonth & "-" & intYear
       
    Else
        MyDate = "Ugyldig dato"
    End If

End Function
Avatar billede cape Nybegynder
18. juni 2002 - 08:59 #4
vbGeneralDate 0
Display a date and/or time. If there is a date part, display it as a short date. If there is a time part, display it as a long time. If present, both parts are displayed.

vbLongDate 1
Display a date using the long date format specified in your computer's regional settings.

vbShortDate 2
Display a date using the short date format specified in your computer's regional settings.

vbLongTime 3
Display a time using the time format specified in your computer's regional settings.

vbShortTime 4
Display a time using the 24-hour format (hh:mm).
Avatar billede tmceu Praktikant
18. juni 2002 - 08:59 #5
cape >> FormatDateTime er afhængig af indstillingerne på serveren, også selv om man anvender Session.LCID = XXX
Avatar billede Slettet bruger
18. juni 2002 - 08:59 #6
det skal lige siges at mine felter med datoer er sat som tekst i db og dette kan ikke ændres.
Avatar billede Slettet bruger
18. juni 2002 - 09:01 #7
jeg tror nærmere at det er en tekst der skal nedbrydes eller h
Avatar billede tmceu Praktikant
18. juni 2002 - 09:03 #8
Det burde være ligyldigt om den er lagret som tekst, da ASP internt kun arbejder med Variant datatypen. Funktionen IsDate(minDato) vil fortælle dig, om datoen af af subtypen date som ASP kan forstå. Mit bud er at den sagtens kan forstå din dato.
Avatar billede cape Nybegynder
18. juni 2002 - 09:07 #9
ja tmceu - det er rigtigt. Men den dato jean ønsker er rimelig standard opsætning....

Men klart....Tmceu løsning er bedre....ingen tvivl
Avatar billede Slettet bruger
18. juni 2002 - 09:12 #10
jeg skal ikke bruge datoen rent programmeringsmæssigt.. udelukkende som en brugervenlig gengivelse af dato format... I danmark læser vi jo en dato DD-MM-AAAA..thats it..
Avatar billede cape Nybegynder
18. juni 2002 - 09:14 #11
ok !

Men derfor virker tmceu´s eks. stadig...
Avatar billede Slettet bruger
18. juni 2002 - 09:18 #12
jammen det prøver jeg bare lige så...2 sek
Avatar billede tmceu Praktikant
18. juni 2002 - 09:19 #13
cape >> jeg mener ikke selv min løsning er bedre, men den type funktion er desværre ofte nødvendig, specielt hvis man anvender et webhotel.

Jeg kontrollerer selv de fleste af de servere jeg udvikler til og vil normalt foretrække at styre formatet via serverens regionale indstillinger, suppleret af LCID. Men det er min erfaring, at de fleste herinde har deres sider liggende på et webhotel og derfor ingen reel indflydelse har på serverens indstillinger.

Så det var ikke for at nedgøre dit forslag, men blot for at gøre opmærksom på afhængigheden af serverens indstillinger :-)
Avatar billede cape Nybegynder
18. juni 2002 - 09:23 #14
Jeg ved det godt tmceu...

Jeg mente bare at dit forslag faktisk var mere venligt ! Min løsning skal man helst have adgang til server....
Avatar billede Slettet bruger
18. juni 2002 - 09:28 #15
Min kode:

varDate = ""&RS2("Visning")&""
Function MyDate(varDate)
' Returnerer en dato formateret som DD-MM-YYYYY

dim intDay, intMonth, intYear

    If IsDate(varDate) Then
        intDay = Day(varDate)
        intMonth = Month(varDate)
        intYear = Year(varDate)

        If Len(intMonth) = 1 Then intMonth = "0" & intMonth
        If Len(intDay) = 1 Then intDay = "0" & intDay

        MyDate = intDay & "-" & intMonth & "-" & intYear
       
    Else
        MyDate = "Ugyldig dato"
    End If

End Function%>

Min fejl:

Der opstod en Microsoft VBScript-kørselsfejl error '800a01c2'

Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig: 'MyDate'
Avatar billede cape Nybegynder
18. juni 2002 - 09:32 #16
varDate = ""&RS2("Visning")&""
=
varDate = RS2("Visning")
Avatar billede Slettet bruger
18. juni 2002 - 09:34 #17
har jeg også prøvet :-)
Avatar billede cape Nybegynder
18. juni 2002 - 09:38 #18
Hvor kalder du funktionen ???
Avatar billede Slettet bruger
18. juni 2002 - 09:43 #19
Lige inden jeg påbegynder et gennemløb af dbéns indhold af datoer..

Skal jeg gøre det som en include eller hvad??
Avatar billede tmceu Praktikant
18. juni 2002 - 10:02 #20
Det behøver ikke, men kan godt ligge i en include.

Du kalder den eks. inde fra dit loop:

Response.Write MyDate(RS2("Visning"))
Avatar billede Slettet bruger
18. juni 2002 - 10:03 #21
2 sek..
Avatar billede Slettet bruger
18. juni 2002 - 10:26 #22
det virker skisme...

Muchas gracias
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