/ 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
Day, Month og Year viser det forkerte!!
Fra : Peter Nielsen


Dato : 02-11-05 23:36

Hej NG

Har lavet den her function:

Function DanskDato(dato)
datetime = dato
Dag = Day(datetime)
Maaned = Month(datetime)
Aar = Year(datetime)
If Len(Maaned) = 1 then
Maaned = "0"&Maaned
End If
If Len(Dag) = 1 then
Dag = "0"&Dag
End If
datetime = Dag&"-"&Maaned&"-"&Aar

DanskDato = datetime
End Function

Men nu viser den det forkerte... Har så prøvet at skrive nogle forskellige
test ting ud... tjek det...

1. response.write Date()
2. response.write DanskDato(Date())
3. response.write DanskDato(24/12/2005)
4. response.write Day(24-12-2005)
5. response.write Month(24-12-2005)
6. response.write Year(24-12-2005)

Og de blir til følgende:

1. 2-11-2005
2. 02-11-2005
3. 30-12-1899
4. 16
5. 7
6. 1894

Bruger Session.LCID = 1043 Fordi at den danske åbenbart ikke er på min
server... (B-one)
Men laver den om på d. 24-12-2005 ? Den kan jo godt med de første... Nogle
der har nogle ideer?

Peter



 
 
Jørn Andersen (03-11-2005)
Kommentar
Fra : Jørn Andersen


Dato : 03-11-05 00:47

On Wed, 2 Nov 2005 23:36:17 +0100, "Peter Nielsen" <pedn@pedn.dk>
wrote:

>Hej NG
>
>Har lavet den her function:
<snip>

>Men nu viser den det forkerte...

Hvad er det du vil opnå med den?

>Har så prøvet at skrive nogle forskellige
>test ting ud... tjek det...

>1. response.write Date()
>2. response.write DanskDato(Date())
>3. response.write DanskDato(24/12/2005)
Dit input er et tal, nemlig 24 divideret med 12 divideret med 2005,
som giver et meget lille tal (ca. 0,001).

>4. response.write Day(24-12-2005)
Igen et tal 24 minus 12 minus 2005 = -1993

>5. response.write Month(24-12-2005)
Ditto

>6. response.write Year(24-12-2005)
Ditto

>Og de blir til følgende:
>
>1. 2-11-2005
>2. 02-11-2005
>3. 30-12-1899
>4. 16
>5. 7
>6. 1894

Og det skal jo nok passe - datoformatet hos MS bygger på en talrække,
som starter et eller andet sted i slutningen af 1800-tallet, som jeg
ikke lige kan huske præcis. Prøv evt. i et Excel-ark.

>Men laver den om på d. 24-12-2005 ? Den kan jo godt med de første... Nogle
>der har nogle ideer?

Spørgsmålet er stadig: Hvad vil du opnå?
Hvis du vil håndtere datoer, så brug dato-funktionerne (DateSerial,
DateAdd osv), det er den sikreste metode. Dun funktion er OK til at
formattere datoer, men det kræver altså et dato-input.

Good luck,
Jørn

--
Jørn Andersen,
Brønshøj

Jørn Andersen (03-11-2005)
Kommentar
Fra : Jørn Andersen


Dato : 03-11-05 00:57

On Wed, 2 Nov 2005 23:36:17 +0100, "Peter Nielsen" <pedn@pedn.dk>
wrote:

>Har lavet den her function:
>
>Function DanskDato(dato)
> datetime = dato
> Dag = Day(datetime)
> Maaned = Month(datetime)
> Aar = Year(datetime)
> If Len(Maaned) = 1 then
> Maaned = "0"&Maaned
> End If
> If Len(Dag) = 1 then
> Dag = "0"&Dag
> End If
> datetime = Dag&"-"&Maaned&"-"&Aar
>
> DanskDato = datetime
>End Function

Kort den evt. til:

Function DanskDato(dato)
Dag = Right("0" & Day(dato), 2)
Maaned = Right("0" & Month(dato), 2)
Aar = Year(dato)

DanskDato = Dag & "-" & Maaned & "-" & Aar
End Function

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste