PDA

Bekijk Volledige Versie : ASP datum probleem door VS-server



Mok
04/04/03, 15:50
Ik heb een probleem met de schrijfwijze van datums op mijn site.

De situatie is als volgt:

Ik heb een site geprogrammeerd in ASP(3)
Ik heb daarbij een Access Database 2000(NL) ( standaardnotatie voor datums)
Voor het invoeren van de records gebruik ik 2 pagina's.
pagina A voor het invullen van de gegevens en
pagina B voor de interactiemet de DB

Voor het opvragen van gegevens gebruik ik ook 2 pagina's
pagina C voor het invullen van de zoekgegens en
pagina D voor de interactie met de DB en voor de presentatie van de gevonden
records

Op mijn locale server (NL) gaat dit perfect.
Sinds ik de site draai op een gehoste server gaat het fout. Waarschijnlijk
werkt deze met de Amerikaanse schrijfwijze en gaat het daarom mis.

Wanneer ik de datum 31-01-2003 invoer krijg ik als resultaat 01/31/2003
Geen probleem dacht ik, als de server de boel omdraait, kan ik ook de boel
omdraaien bij het invoeren en dan moet het goed komen.
Helaas pindakaas, als ik 01-31-2003 invoer, krijg ik opnieuw 01/31/2003!!


Ik heb een beetje rondgevraagd en gekeken maar nog geen oplossing kunnen
vinden.
Wat ik geprobeerd heb is de volgende code die ik ergens in een asp-boek
vond;

<%
' de volgende code laat het gebruik van van de eigenschap
' LCID zien om de locale identifier in te stellen op standaard NL

DIM intOrigLCID
DIM intDutchLCID
intDutchLCID = 1043
intOrigLCID = Session.LCID
Session.LCID = intDutchLCID
%>

Met deze code zou de geldende lokale (VS dus) schrijfwijze, omgezet worden
in de Nederlandse. Ik heb deze code in de body van pagina C en later in D
gezet. Geen oplossing. Alles blijft het zelfde.

Een tip op een ASP-site adviseerd hetvolgende aan het begin van de pagina te
plaatsen:
<% session.lcid = 1043%>
Heb ik op alle pagina's uitgeprobeerd, werkt niet

Weer een andere tip was het plaatsen van het volgende boven de pagina:
<@ LCID = 1043%>
Ook op alle 4 pagina's geprobeerd maar het helpt ook niet.

Wie kan me een beetje op weg helpen. Ik ben niet echt een crack dus als het
kan een tikje sinpel aub. Als je bep. code adviseert zou je dan ook willen
aangeven waar ik deze moet plaatsen; welke pagina en in de Head of Body of
evt. boven <HTML>?

Alvast bedankt
Marcel

Jesper de Boer
04/04/03, 19:35
"Mok" <marcel.oudekamphuis@NOSPAM.wanadoo.nl> wrote in message
news:3e8d8c0c$0$1761$1b62eedf@news.wanadoo.nl...
> Ik heb een probleem met de schrijfwijze van datums op mijn site.
>
> De situatie is als volgt:
>
> Ik heb een site geprogrammeerd in ASP(3)
> Ik heb daarbij een Access Database 2000(NL) ( standaardnotatie voor
datums)
> Voor het invoeren van de records gebruik ik 2 pagina's.
> pagina A voor het invullen van de gegevens en
> pagina B voor de interactiemet de DB
>
> Voor het opvragen van gegevens gebruik ik ook 2 pagina's
> pagina C voor het invullen van de zoekgegens en
> pagina D voor de interactie met de DB en voor de presentatie van de
gevonden
> records
>
> Op mijn locale server (NL) gaat dit perfect.
> Sinds ik de site draai op een gehoste server gaat het fout. Waarschijnlijk
> werkt deze met de Amerikaanse schrijfwijze en gaat het daarom mis.
>
> Wanneer ik de datum 31-01-2003 invoer krijg ik als resultaat 01/31/2003
> Geen probleem dacht ik, als de server de boel omdraait, kan ik ook de boel
> omdraaien bij het invoeren en dan moet het goed komen.
> Helaas pindakaas, als ik 01-31-2003 invoer, krijg ik opnieuw 01/31/2003!!

LCID werkt alleen bij NT 4 als een bepaald Service Pack is geinstalleerd,
het hoort te werken op Windows 2000 Server.
Ook ik loop altijd te klooien met data ondanks SP./
Ik gebruik de volgende code om een datum uit een database weer te geven:

dag = day(datum)
jaar = year(datum)
Select Case month(datum)
case "1" maand = "januari"
case "2" maand = "februari"
case "3" maand = "maart"
case "4" maand = "april"
case "5" maand = "mei"
case "6" maand = "juni"
case "7" maand = "juli"
case "8" maand = "augustus"
case "9" maand = "september"
case "10" maand = "oktober"
case "11" maand = "november"
case "12" maand = "december"
End select
Select case Weekday(datum)
case "1" soortdag="zondag"
case "2" soortdag="maandag"
case "3" soortdag="dinsdag"
case "4" soortdag="woensdag"
case "5" soortdag="donderdag"
case "6" soortdag="vrijdag"
case "7" soortdag="zaterdag"
end select
datum = soortdag & " " & dag & " " & maand & " " & jaar

Om ik een veld moet updaten, haal ik met de volgende code de datum in een
input box:
DATE_ENTERED = month(DATE_ENTERED)& "-" & day(DATE_ENTERED) & "-" &
year(DATE_ENTERED) & " " & hour(DATE_ENTERED) & ":" & minute(DATE_ENTERED) &
":" & second(DATE_ENTERED)

Ik gebruik dus ook de Amerikaanse notatie hiervoor. Ook ik heb boven aan
LCID=1043 staan op een w2k server, maar dat werkt bij mij dus ook niet echt.

De code is misschien wat amaturistisch, maar bij werkt het....

Groeten,

Jesper de Boer

Mok
05/04/03, 23:05
Jasper bedankt voor je uitvoerige reactie. Ik heb je oplossing nog niet
uitgeprobeerd omdat ik van iemand anders (EGG in nieuwsgroep
nl.comp.programmeren)de tip had gekregen om <% @LCID=1043%> helemaal
bovenaan de pagina te zetten en de FormatDateTime(now(), 1) te gebuiken. Dit
werkt bij mij. Althans bij de pagina waarmee ik de resultaten van een
opvraging presenteer. Hoe het gaat met de andere pagina's (invoer en
berekeningen met datums) moet ik nog uitproberen. Ik heb wel effe voor de
zekerheid jouw oplossing uitgeprint.

Groeten
Marcel


"Jesper de Boer" <J.de.boer3@GEENSPAMchello.nl> schreef in bericht
news:wgjja.34489$oe.100136@amstwist00...
> "Mok" <marcel.oudekamphuis@NOSPAM.wanadoo.nl> wrote in message
> news:3e8d8c0c$0$1761$1b62eedf@news.wanadoo.nl...
> > Ik heb een probleem met de schrijfwijze van datums op mijn site.
> >
> > De situatie is als volgt:
> >
> > Ik heb een site geprogrammeerd in ASP(3)
> > Ik heb daarbij een Access Database 2000(NL) ( standaardnotatie voor
> datums)
> > Voor het invoeren van de records gebruik ik 2 pagina's.
> > pagina A voor het invullen van de gegevens en
> > pagina B voor de interactiemet de DB
> >
> > Voor het opvragen van gegevens gebruik ik ook 2 pagina's
> > pagina C voor het invullen van de zoekgegens en
> > pagina D voor de interactie met de DB en voor de presentatie van de
> gevonden
> > records
> >
> > Op mijn locale server (NL) gaat dit perfect.
> > Sinds ik de site draai op een gehoste server gaat het fout.
Waarschijnlijk
> > werkt deze met de Amerikaanse schrijfwijze en gaat het daarom mis.
> >
> > Wanneer ik de datum 31-01-2003 invoer krijg ik als resultaat 01/31/2003
> > Geen probleem dacht ik, als de server de boel omdraait, kan ik ook de
boel
> > omdraaien bij het invoeren en dan moet het goed komen.
> > Helaas pindakaas, als ik 01-31-2003 invoer, krijg ik opnieuw
01/31/2003!!
>
> LCID werkt alleen bij NT 4 als een bepaald Service Pack is geinstalleerd,
> het hoort te werken op Windows 2000 Server.
> Ook ik loop altijd te klooien met data ondanks SP./
> Ik gebruik de volgende code om een datum uit een database weer te geven:
>
> dag = day(datum)
> jaar = year(datum)
> Select Case month(datum)
> case "1" maand = "januari"
> case "2" maand = "februari"
> case "3" maand = "maart"
> case "4" maand = "april"
> case "5" maand = "mei"
> case "6" maand = "juni"
> case "7" maand = "juli"
> case "8" maand = "augustus"
> case "9" maand = "september"
> case "10" maand = "oktober"
> case "11" maand = "november"
> case "12" maand = "december"
> End select
> Select case Weekday(datum)
> case "1" soortdag="zondag"
> case "2" soortdag="maandag"
> case "3" soortdag="dinsdag"
> case "4" soortdag="woensdag"
> case "5" soortdag="donderdag"
> case "6" soortdag="vrijdag"
> case "7" soortdag="zaterdag"
> end select
> datum = soortdag & " " & dag & " " & maand & " " & jaar
>
> Om ik een veld moet updaten, haal ik met de volgende code de datum in een
> input box:
> DATE_ENTERED = month(DATE_ENTERED)& "-" & day(DATE_ENTERED) & "-" &
> year(DATE_ENTERED) & " " & hour(DATE_ENTERED) & ":" & minute(DATE_ENTERED)
&
> ":" & second(DATE_ENTERED)
>
> Ik gebruik dus ook de Amerikaanse notatie hiervoor. Ook ik heb boven aan
> LCID=1043 staan op een w2k server, maar dat werkt bij mij dus ook niet
echt.
>
> De code is misschien wat amaturistisch, maar bij werkt het....
>
> Groeten,
>
> Jesper de Boer
>
>
>
>
>