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!
