Gå til innhold

Utfordring, finne samling av datoer i ein veke for eit år.


Anbefalte innlegg

Skrevet

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? :)

Videoannonse
Annonse
Skrevet

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... :)

Skrevet

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 :)

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...