var weekdays = { "Sonntag": 0, "Montag": 1, "Dienstag": 2, "Mittwoch": 3, "Donnerstag": 4, "Freitag": 5, "Samstag": 6, "Sonnabend": 6 };
function getdt(wochentag, jahr, kw) {
// Nummer des Wochentages ermitteln
var weekday = weekdays[wochentag];
// Date-Objekt für 1. 1. des betr. Jahres ermittel
var dt = new Date(jahr, 0, 1);
// Die 1. Kalenderwoche ist die, die den 1. Donnerstag des Jahres enthält
cweekday = dt.getDay();
while (cweekday != 4) {
dt.setDate(dt.getDate() + 1);
cweekday = dt.getDay();
}
// Nummer des Tages für diesen Montag ermitteln
var dayofmonth = dt.getDate();
// Differenz des zu suchenden Wochentages gegenüber dem Donnerstag ermitteln
var diff = weekday - 4;
// Der Sonntag gehört zur folgenden Woche
if (weekday == 0) diff += 7;
// Start-Datum für den zu suchenden Wochentag ermitteln
dt.setDate(dt.getDate() + diff);
// (Kalenderwoche - 1) * 7 Tage auf das Startdatum aufaddieren
dt.setDate(dt.getDate() + (kw - 1) * 7);
return dt;
}
console.log(getdt("Sonntag", 2017, 27));
console.log(getdt("Montag", 2017, 27));
console.log(getdt("Dienstag", 2017, 27));
console.log(getdt("Mittwoch", 2017, 27));
console.log(getdt("Donnerstag", 2017, 27));
console.log(getdt("Freitag", 2017, 27));
console.log(getdt("Samstag", 2017, 27));
console.log(getdt("Sonntag", 2015, 15));
console.log(getdt("Montag", 2015, 15));
console.log(getdt("Dienstag", 2015, 15));
console.log(getdt("Mittwoch", 2015, 15));
console.log(getdt("Donnerstag", 2015, 15));
console.log(getdt("Freitag", 2015, 15));
console.log(getdt("Samstag", 2015, 15));