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);
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?
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.
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()];
Aihe on jo aika vanha, joten et voi enää vastata siihen.