Avatar billede peturkirke Novice
21. april 2005 - 15:42 Der er 10 kommentarer og
1 løsning

Year, Month and Day i javascript ?

jeg prøver at få en webside til at fungere.
databasen er MS SQL, og det er ASP og javascript.

jeg har et DateTime felt, og hvis det nu var vbscript kunne jeg bare skrive sådan:

Response.Write Year(recordSet("Dato"))

men det virker ikke med javascript ! hvordan gør jeg i javascript ?
Avatar billede barklund Nybegynder
21. april 2005 - 15:55 #1
Det er _ikke_ javascript men derimod JScript. Dog er det noget af det samme. Du skal have konverteret din dato til et dato-objekt. Det kan du gøre via new Date(timestamp). Men hvis du ikke har det som et timestamp, men derimod som en streng (som MS sikkert gemmer timestamps i) så kan du gøre det med noget substring værk.
Avatar billede peturkirke Novice
21. april 2005 - 16:16 #2
har du - eller en anden - en eksempel-kode ?
Avatar billede peturkirke Novice
21. april 2005 - 16:17 #3
jeg har et DateTime felt ! skal jeg så ændre det til Timestamp ? og så ved jeg ikke, om MS SQL har timestamp ?
Avatar billede barklund Nybegynder
21. april 2005 - 16:32 #4
Du skal have det konverteret til at UNIX_TIMESTAMP - det hedder den dertilhørende metode i MySQL. Måske den også findes i MSSQL, så du skriver:

SELECT *, UNIX_TIMESTAMP(Dato) AS Dato FROM ...

Og så er datoen "bare" et tal, som du kan lave et datoobjekt med som:

var d = new Date(recordSet("Dato"));
var year = d.getFullYear();
Avatar billede peturkirke Novice
21. april 2005 - 17:12 #5
'UNIX_TIMESTAMP' is not a recognized function name
Avatar billede roenving Novice
24. april 2005 - 15:53 #6
Hvordan ser den værdi ud, du har i forvejen ?-)
Avatar billede barklund Nybegynder
24. april 2005 - 16:09 #7
Ja, man kunne forestille sig, at du rent nemt kunne pille de enkelte dele ud med nogle simple streng-funktioner.
Avatar billede peturkirke Novice
27. april 2005 - 16:22 #8
ser sådan ud:

Fri Apr 21 04:00:00 UTC+0100 2006

ja, jeg har brugt simple streng-funktioner, og det er også derfor jeg har fået problemer. Men nu ser jeg, hvorfor problemet er opstået. Det er fordi der pludselig er tilføjet "+0100" til de nyeste datoer, sådan at de gamle og nye datoer nu har forskellig længde:

Thu Jan 27 10:00:00 UTC 2005
Thu Feb 3 10:00:00 UTC 2005
Fri Mar 4 10:00:00 UTC 2005
Thu Apr 28 10:00:00 UTC+0100 2005
Fri Apr 21 04:00:00 UTC+0100 2006

så nu finder jeg nok ud af det !
Avatar billede peturkirke Novice
06. maj 2005 - 10:56 #9
her kom ikke noget svar, så jeg tager poengene tilbage
Avatar billede roenving Novice
06. maj 2005 - 11:19 #10
Forøvrigt burde du kunne bruge den slags strenge direkte i en Date-constructor i javascript ...

Altså noget i stil med:

var nyDato = new Date("<%=Year(recordSet("Dato"))%>");
Avatar billede peturkirke Novice
06. maj 2005 - 11:24 #11
aha det vil jeg prøve næste gang :) tak
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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