siDDis Skrevet 12. september 2008 Del Skrevet 12. september 2008 Eg har ein utfordring her, trenger ein algoritme for å kunne rekne ut kva slags datoer det er i ein valgt veke for eit år. Eg har ein Javascript implementasjon som finner vekene, men mine mattekunnskaper skjønner ikkje eit kvekk og det gjer det vanskeleg å forsetja. Javascript implementasjonen ser sånn ut: function getWeek(year, month, day) { //Find JulianDay month += 1; //use 1-12 var a = Math.floor((14-(month))/12); var y = year+4800-a; var m = (month)+(12*a)-3; // (gregorian calendar) var jd = day + Math.floor(((153*m)+2)/5) + (365*y) + Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400) - 32045; // (julian calendar) //var jd = (day+1)+Math.Round(((153*m)+2)/5)+(365+y) + // Math.round(y/4)-32083; //now calc weeknumber according to JD var d4 = (jd+31741-(jd%7))%146097%36524%1461; var L = Math.floor(d4/1460); var d1 = ((d4-L)%365)+L; NumberOfWeek = Math.floor(d1/7) + 1; return NumberOfWeek; } Nokon som har nokre tips? Lenke til kommentar
Giddion Skrevet 12. september 2008 Del Skrevet 12. september 2008 Hvilke språk/miljø skal løsningen være i? Lenke til kommentar
siDDis Skrevet 12. september 2008 Forfatter Del Skrevet 12. september 2008 Det skal være Javascript eg skal ha det i nå, usikker om andre språk har API for dette Lenke til kommentar
steingrim Skrevet 12. september 2008 Del Skrevet 12. september 2008 De fleste andre språk kommer gjerne med API for kalender etc, slik at man ikke trenger tenke på skuddår, antall dager i en måned og denslags tull. Javascript derimot... Lenke til kommentar
siDDis Skrevet 12. september 2008 Forfatter Del Skrevet 12. september 2008 Hehe, ja det er mykje "basic" funksjonalitet som må implementeras i Javascript. Fant ut av dette problemet idag, ein kan bruke getDay() metoden til å finne ut om ein dag er f.eks onsdag, og då er det bare å rekne på + og - dager i veka for å lage ein samling Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå