/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Tolkning af dato
Fra : Lars Klingenberg


Dato : 09-01-02 04:25

Hi,

Jeg har lidt problemer med formattering af datoer... Sereverens "regional
setting" er sat til dansk og med datoformatet dd-MM-yyyy. Men når jeg i en
asp-fil skriver...

Response.Write Date()

....så bliver resultat 1/9/2002 (dvs. 9. januar 2002). How come? Det er lidt
besværligt når jeg fra en formular får datoen sammenstykket af tre
rullemenuer med hhv. dato, måned og år. Hvis jeg angiver denne dato som...

CDate(Request.Form("dato_startD") & "-" & Request.Form("dato_startM") & "-"
& Request.Form("dato_startY"))

....bliver der byttet om på dag og måned, hvilket unægteligt er lidt
upraktisk. Og det hele bliver ikke nemmere af at det skal proppes ind i en
database, hvor datoformatet gerne skulle være ens for alle felter. Kan man
helt udelade CDate funktionen eller er det nødvendigt for at databasen ved
at der er tale om en dato (MS Access 2000 og MS SQL Server 2000)?

I et andet tilfælde har jeh bruge for at lægge tre måneder til en dato hva.
DateAdd funktionen, men det bliver også noget rod hvis den dato jeg bruger i
funktionen er formateret forskelligt, for enten lægges der tre dage til
eller tre måneder - alt efter formatet.

Jeg har forsøgt mig lidt med en funktion:

Function FormatDato(dato)
If Len(day(dato)) = 1 And Len(month(dato)) = 2 Then
FormatDato = "0" & day(dato) & "-" & month(dato) & "-" & year(dato)
ElseIf Len(month(dato)) = 1 And Len(month(dato)) = 1 Then FormatDato =
"0" & day(dato) & "-" & "0" & month(dato) & "-" & year(dato)
ElseIf Len(month(dato)) = 2 And Len(month(dato)) = 1 Then FormatDato =
day(dato) & "-" & "0" & month(dato) & "-" & year(dato)
End If
End Function

Funktionen viker også, men når den kombineres med CDate (og specielt
DateAdd) går det galt igen!

Er der nogen der har haft lignende problemer - og hvordan er de endt. Eller
er der nogen der har gode ideer til hvordan problemet løses.

--
Med venlig hilsen
Lars Klingenberg




 
 
Bo Hedemark Pedersen (09-01-2002)
Kommentar
Fra : Bo Hedemark Pedersen


Dato : 09-01-02 14:15

Hvad med at sætte Session.LCID=1030 'for dansk formattering
i global.asa i Sub Session_OnStart?

Lars Klingenberg wrote:
>
> Hi,
>
> Jeg har lidt problemer med formattering af datoer... Sereverens "regional
> setting" er sat til dansk og med datoformatet dd-MM-yyyy. Men når jeg i en
> asp-fil skriver...
>
> Response.Write Date()
>
> ...så bliver resultat 1/9/2002 (dvs. 9. januar 2002). How come? Det er lidt
> besværligt når jeg fra en formular får datoen sammenstykket af tre
> rullemenuer med hhv. dato, måned og år. Hvis jeg angiver denne dato som...
>
> CDate(Request.Form("dato_startD") & "-" & Request.Form("dato_startM") & "-"
> & Request.Form("dato_startY"))
>
> ...bliver der byttet om på dag og måned, hvilket unægteligt er lidt
> upraktisk. Og det hele bliver ikke nemmere af at det skal proppes ind i en
> database, hvor datoformatet gerne skulle være ens for alle felter. Kan man
> helt udelade CDate funktionen eller er det nødvendigt for at databasen ved
> at der er tale om en dato (MS Access 2000 og MS SQL Server 2000)?
>
> I et andet tilfælde har jeh bruge for at lægge tre måneder til en dato hva.
> DateAdd funktionen, men det bliver også noget rod hvis den dato jeg bruger i
> funktionen er formateret forskelligt, for enten lægges der tre dage til
> eller tre måneder - alt efter formatet.
>
> Jeg har forsøgt mig lidt med en funktion:
>
> Function FormatDato(dato)
> If Len(day(dato)) = 1 And Len(month(dato)) = 2 Then
> FormatDato = "0" & day(dato) & "-" & month(dato) & "-" & year(dato)
> ElseIf Len(month(dato)) = 1 And Len(month(dato)) = 1 Then FormatDato =
> "0" & day(dato) & "-" & "0" & month(dato) & "-" & year(dato)
> ElseIf Len(month(dato)) = 2 And Len(month(dato)) = 1 Then FormatDato =
> day(dato) & "-" & "0" & month(dato) & "-" & year(dato)
> End If
> End Function
>
> Funktionen viker også, men når den kombineres med CDate (og specielt
> DateAdd) går det galt igen!
>
> Er der nogen der har haft lignende problemer - og hvordan er de endt. Eller
> er der nogen der har gode ideer til hvordan problemet løses.
>
> --
> Med venlig hilsen
> Lars Klingenberg

--
Bo Hedemark Pedersen, Konsulent, mailto:bhp@uni-c.dk
UNI-C, Olof Palmes Allé 38, DK-8200 Århus N
tlf: 8937 6626, fax: 8937 6677
--
UNI-C Statistik & Analyse
Har du et spørgsmål ... ? Vi hjælper med svaret ... !
http://www.statistik.uni-c.dk

Lars Klingenberg (11-01-2002)
Kommentar
Fra : Lars Klingenberg


Dato : 11-01-02 08:34

> Hvad med at sætte Session.LCID=1030 'for dansk formattering
> i global.asa i Sub Session_OnStart?
Se, det lille trick kendte jeg ikke - tak for det!
/Lars



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste