Avatar billede andersdp Nybegynder
24. juni 2004 - 11:17 Der er 10 kommentarer og
1 løsning

Bug i date objekt: getMonth()

Selv om jeg har sat min pc's tid korrekt til juni, får jeg ved at bruge:

dato = new Date();
maaned = dato.getMonth();
trace(maaned);

Resultatet 5 - altså maj måned.

Er det en bug, eller har jeg overset noget?
Det kan selvfølgelig nemt løses ved +1, men er der ikke noget galt?
Avatar billede Slettet bruger
24. juni 2004 - 11:22 #1
Det er ikke en bug ;)
Januar er jo '0'
Avatar billede thulstrup Nybegynder
24. juni 2004 - 11:23 #2
Hvis du slår getMonth() op i flash's hjælp står der:

Description:
Method; returns the month (0 for January, 1 for February, and so on) of the specified Date object, according to local time. Local time is determined by the operating system on which Flash Player is running.
Avatar billede andersdp Nybegynder
24. juni 2004 - 11:25 #3
yeeeeeeeeees.
Der var jeg lige i mit skarpeste hjørne :)
Avatar billede andersdp Nybegynder
24. juni 2004 - 11:25 #4
Nogle der vil have points?
Avatar billede Slettet bruger
24. juni 2004 - 11:26 #5
Dvs. hvis du sætter dine måneder i at array så fungerer det som det skal

mdr=["j","f","m","a","m","j","j","a","s","n","o","d"]
trace(mdr[5])// giver j for juni
Avatar billede andersdp Nybegynder
24. juni 2004 - 11:36 #6
Jeps, har dog løst det med en switch....
Avatar billede pyroman Nybegynder
24. juni 2004 - 19:20 #7
hehe - du må vist vende dig lidt til programmering... ALT der kan indexeres med tal starter ALTID med 0 - dette gælder alle programmeringssprog så vidt jeg ved...
men det er jo faktisk også det mest logiske hvis man tænker efter...
eksempler:
arrays starter med 0, levels starter med 0, år, måneder og ugedage - og faktisk også timer, minutter og sekunder starter med 0...

matematisk set er 0 jo også det første tal - et udgangspunkt - det ville være mærkeligt hvis alt gik ud fra 1...

Men ok - nu har du lært det ;)
Avatar billede andersdp Nybegynder
24. juni 2004 - 19:31 #8
Jep. Nævnte vist også lige, at jeg ikke var i mit skarpeste hjørne på det tidspunkt :) Sad og tænkte, at januar er da den første måned i året så må det sgu da være 1 - men så kan jeg lære det ;)

Hvorfor dumme sig alene, når man kan underholde andre med det...
Avatar billede gotcha Nybegynder
24. juni 2004 - 19:56 #9
Excel VBA har faktisk 1 som første element ;)
Avatar billede andersdp Nybegynder
24. juni 2004 - 20:03 #10
Ahhh, så er det nok det jeg har fået rodet rundt i - har jo kodet en Excel VBA i mine unge dage... Eller ;)
Avatar billede Slettet bruger
24. juni 2004 - 21:15 #11
En anden ting der måske har ført dig på vildspor i forhold til getMonth(); er at getDate(); faktisk returnerer den eksakte dato og er altså ikke baseret på helt samme filosofi ;)

"Bug i Flash" == "En masse opmærksomhed" :D
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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