Bekijk Volledige Versie : [ASP] eingenaardigheid met datums
Hallo,
Ik heb een nieuwsscriptje waarin ik mijn gegevens uit een database haal.
Alles werkt behalve het weergeven van de correcte datum...
De ene keer toont hij ze in de vorm van ddmmYYYY en de andere keer mmddYYYY.
Nogtans gebruik ik identiek de zelfde tabel en zelfde functie.
=day(RS("Datum")) & "/" & month(RS("Datum")) & "/" & year(RS("Datum"))
ook andere geprobeerde functies geven hetzelfde resultaat.
Een voorbeeldje:
http://www.kmskdeinze.be/cgi-bin/skdeinze/seizoen/03-04/nieuws/toonNieuws.asp?id=9
Hier staat de datum omgekeerd
http://www.kmskdeinze.be/cgi-bin/skdeinze/seizoen/03-04/nieuws/nieuws.asp
Hier staan de datums goed.
en dit met dus dezelfde functie...
Heeft iemand ervaring met dit probleem ?
mvg
Dat is een bekend probleem. De heren van Microsoft vinden blijkbaar
alleen het amerikaanse datumformaat belangrijk. Volgens de papieren
zou het datumformat moeten wijzigen met de regionale instellingen van
de server. Maar doe geen moeite, dat werkt niet.
Ik werk altijd om het probleem heen met een eenvoudige functie:
<%
function fnDatum (Dtm)
dim DtmArray
if not isdate(Dtm) then exit function
DtmArray = replace (Dtm, "-", "/")
DtmArray = split(Dtm, "/")
fnDatum = DtmArray(1) & "-" & DtmArray(0) & "-" & DtmArray(2)
end function
%>
Dit verdient misschien niet de schoonheidsprijs, maar het werkt prima.
succes,
Ramon.
Sam Mildener
14/06/03, 11:20
RG wrote:
> Hallo,
>
> Ik heb een nieuwsscriptje waarin ik mijn gegevens uit een database
> haal.
> Alles werkt behalve het weergeven van de correcte datum...
> De ene keer toont hij ze in de vorm van ddmmYYYY en de andere keer
> mmddYYYY. Nogtans gebruik ik identiek de zelfde tabel en zelfde
> functie.
>
> =day(RS("Datum")) & "/" & month(RS("Datum")) & "/" & year(RS("Datum"))
>
> ook andere geprobeerde functies geven hetzelfde resultaat.
>
> Een voorbeeldje:
>
http://www.kmskdeinze.be/cgi-bin/skdeinze/seizoen/03-04/nieuws/toonNieuws.as
p?id=9
> Hier staat de datum omgekeerd
>
> http://www.kmskdeinze.be/cgi-bin/skdeinze/seizoen/03-04/nieuws/nieuws.asp
> Hier staan de datums goed.
>
> en dit met dus dezelfde functie...
>
> Heeft iemand ervaring met dit probleem ?
>
> mvg
Ik vermoed dat het probleem zich bij jou voordoet bij het invoeren van de
datum in de databank en niet bij het tonen.
Controleer daarom eens wat er effectief in je databank staat.
In het SQL INSERT statement moet je ALTIJD de engelse notatie gebruiken,
dit is een beperking van SQL, niet van Microsoft.
Ben je wel zeker dat de datum 6/13/2003 die getoond wordt met jouw
tweede link wel degelijk door jouw functie gemaakt wordt? Dat zou mij
sterk verwonderen, want dan zou de Month() functie als resultaat 13 geven,
hetgeen volgens mij onmogelijk is.
--
Sam Mildener
"RG" <ruben@tochniet.com> schreef in bericht
news:9bFGa.52255$1u5.4035@afrodite.telenet-ops.be...
>
> "Sam Mildener" <nospam@hotmail.com> schreef in bericht
> news:7sBGa.1494$EY.400554151@hestia.telenet-ops.be...
> > RG wrote:
> > > Hallo,
> > >
> > > Ik heb een nieuwsscriptje waarin ik mijn gegevens uit een database
> > > haal.
> > > Alles werkt behalve het weergeven van de correcte datum...
> > > De ene keer toont hij ze in de vorm van ddmmYYYY en de andere keer
> > > mmddYYYY. Nogtans gebruik ik identiek de zelfde tabel en zelfde
> > > functie.
> > >
> > > =day(RS("Datum")) & "/" & month(RS("Datum")) & "/" & year(RS("Datum"))
> > >
> > > ook andere geprobeerde functies geven hetzelfde resultaat.
> > >
> > > Een voorbeeldje:
> > >
> >
>
http://www.kmskdeinze.be/cgi-bin/skdeinze/seizoen/03-04/nieuws/toonNieuws.as
> > p?id=9
> > > Hier staat de datum omgekeerd
> > >
> > >
> http://www.kmskdeinze.be/cgi-bin/skdeinze/seizoen/03-04/nieuws/nieuws.asp
> > > Hier staan de datums goed.
> > >
> > > en dit met dus dezelfde functie...
> > >
> > > Heeft iemand ervaring met dit probleem ?
> > >
> > > mvg
> >
> > Ik vermoed dat het probleem zich bij jou voordoet bij het invoeren van
de
> > datum in de databank en niet bij het tonen.
> > Controleer daarom eens wat er effectief in je databank staat.
> >
> > In het SQL INSERT statement moet je ALTIJD de engelse notatie gebruiken,
> > dit is een beperking van SQL, niet van Microsoft.
> >
> > Ben je wel zeker dat de datum 6/13/2003 die getoond wordt met jouw
> > tweede link wel degelijk door jouw functie gemaakt wordt? Dat zou mij
> > sterk verwonderen, want dan zou de Month() functie als resultaat 13
geven,
> > hetgeen volgens mij onmogelijk is.
> >
>
> Ondertussen heb ik in Acces de datum notatie veranderd naar yyyy/mm/dd en
in
> SQL ook zo toevoegen, maar het probleem blijft hetzelfde.
> Het rare vind ik dat met identiek dezelfde functie, de ene keer de datum
> goed geschreven wordt en op de andere pagina omgekeerd...
> Als je dezelfde tabel gebruikt, zelfde functie, dus heb je identiek
dezelfde
> gegevens toch... en toch tonen ze beide anders
>
Probleem is deels opgelost, gewoon month en day omdraaien, zodanig dat je
aan de server de maand krijgt maar gij geeft de dag, en omgekeerd.
Wel niet de beste oplossing, maar lijkt toch volledig te werken
Sam Mildener
14/06/03, 21:05
RG wrote:
> Ondertussen heb ik in Acces de datum notatie veranderd naar
> yyyy/mm/dd en in SQL ook zo toevoegen, maar het probleem blijft
> hetzelfde.
De datumnotatie in Access heeft er niets mee te maken (behalve als
je je gegevens in Access zelf ingeeft natuurlijk)
In SQL moet het altijd mm/dd/yyyy zijn, bv.
INSERT INTO mijntabel VALUES ('12/31/2002')
--
Sam Mildener