webForumDet fria alternativet

Veckoschema, huvudvärk med antal dagar i månaden

JavaScript

0 svar · 833 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Tjena hej!

Har slängt ihop en funktion för att genera ett veckoschema, där dag och datum är förifyllt.

Funktionen ser ut såhär:

Date.prototype.getWeek = function(start){
	//Calcing the starting point
	start = start || 1;
	var today = new Date(this.setHours(0, 0, 0, 0));
	var day = today.getDay() - start;
	var date = today.getDate() - day;

	// Grabbing Start/End Dates
	var StartDate = new Date(today.setDate(date));
	var EndDate = new Date(today.setDate(date + 7));
	return [StartDate, EndDate];
}

function GetTable(){
	var Data,i,Alt,Last;
	var Dates = new Date().getWeek();

	Data = '<table width="100%">'
		  +'<thead>'
		  +'<tr>'
		  +'<th style="width: 50px; text-align: center;">Datum</th>'
		  +'<th style="width: 75px;">Veckodag</th>'
		  +'<th>Aktivitet</th>'
		  +'<th>Plats</th>'
		  +'</tr>'
		  +'</thead>'
		  +'<tfoot>'
		  +'<tr>'
		  +'<th colspan="7"></th>'
		  +'</tr>'
		  +'</tfoot>'
		  +'</tbody>';

	i = 0;
	while(Dates[0] < Dates[1]) {
		Last = "";
		if(Dates[0].getDay() == 0) Last = 'color: #cc0000;';
		
		TheDay = new Date(Dates[0].setDate(Dates[0].getDate()));
		
		Alt = "row-odd";
		if(i%2 == 0) Alt = "row-even";
		Data += '<tr class="' + Alt + '">'
			   +'<td style="text-align: center;' + Last +'">' + TheDay.toLocaleFormat('%d %b') + '</td>'
			   +'<td style="' + Last + '">' + TheDay.toLocaleFormat('%A') + '</td>'
			   +'<td></td>'
			   +'<td></td>'
			   +'</tr>';

		var newDate = Dates[0].setDate(Dates[0].getDate() + 1);
		Dates[0] = new Date(newDate);
		i++;
	}
	Data += '</tbody>';
		   +'</table>';

	return Data;
}

Det fungerar bra nuvarande vecka, men när jag provade med nästa vecka, blir perioden 24 - 30 februari, vilket är är fel då februari bara har 28 dagar. Det ska helt enkelt bli 1 / 2 mars som sista dagar.

Blir galen, har försökt googla mig till en lösning men hittar inget bra.

Tacksam för förslag!

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)