Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Javascript kuukauden toinen torstai

JimProfit [14.11.2013 09:39:34]

#

Moi

Osaisko joku kertoa miten saisin tämän alla olevan koodin muokattua, niin että se toimisi oikein.

Sen pitäisi näyttää viikonpäivät niin, että tänään, torstaina, olisi second thursday. Nyt se näyttää väärin, että olisi third thursday
Eli ensimmäisella viikolla kuukaudesta first monday, first tuesday ja jne... toisella viikolla kuukaudesta, second monday, second tuesday...

function weekAndDay() {

			var date = new Date,
			days = ['Sunday','Monday','Tuesday','Wednesday',
					'Thursday','Friday','Saturday'],
			prefixes = ['First', 'Second', 'Third', 'Fourth', 'Fifth'];

			return prefixes[0 | date.getDate() / 7] + ' ' + days[date.getDay()];

			}
		weekAndDay();


		document.write(weekAndDay())

		var x = weekAndDay();


		document.write(x);

Grez [14.11.2013 11:18:31]

#

JimProfit kirjoitti:

Eli ensimmäisella viikolla kuukaudesta

Miten määritellään kuukauden ensimmäinen viikko?

Yksi mahdollisuus olisi määritellä samalla tavalla, kuin suomalaisessa kalenterissa määritellään vuoden ensimmäinen viikko: Ensimmäinen viikko, johon kuuluu vähintään neljä alkaneen vuoden (kuukauden) päivää.

Toinen mahdollisuus on että ensimmäinen kokonainen viikko.

3. - 7. mahdollisuus on myös aika triviaaleja. Muitakin vaihtoehtoja voinee vielä keksiä :D

Mikäli ensimmäiseen viikkoon vaaditaan enemmän kuin 1 päivä, niin miten "nollas" viikko ilmaistaan?

JimProfit [14.11.2013 11:31:23]

#

Tässä tapauksessa haluaisin erityisesti tarkastella tuota kuukauden toista keskiviikkoa ja torstaita. Eli nythän on se kuukauden toinen torstai kun kirjoitan tätä. Tuo Scripti näyttää kuitenkin kolmatta torstaita. Eilen se näytti oikein toista keskiviikkoa.

Grez [14.11.2013 15:35:14]

#

Ok, eli sinua ei oikeasti kiinnosta yhtään monennestako viikosta on kyse (kuten alupnerin kysyit) vaan kiinnostaa monesko torstai tai monesko keskiviikko on kyseessä.

Ei kai siinä sitten muuta kuin korvaa tuo return rivi tällä

return prefixes[0 | (date.getDate()-1) / 7] + ' ' + days[date.getDay()];

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta