Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Und Sonntag ist dann 7 (oder ist Sonntag 0)?Und den Tag der Woche. 2, also Dienstag.
function getDateOfISOWeek(y, cw, wd) {
var dt = new Date(y, 0, 1 + (cw - 1) * 7);
dt.setDate(dt.getDate() - dt.getDay() + wd + (dt.getDay() <= 4 ? 0 : 7));
return ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"][dt.getDay()] + ", der " + dt.getDate() + "." + (dt.getMonth() + 1) + "." + dt.getYear();
}
getDateOfISOWeek(2008, 23, 2);
was auch den Tatsachen entspricht. Du wolltest uns mit dem 3.4. testen, oder ?Dienstag, der 3.6.2008
Ich meine das Sonntag 7 ist.Und Sonntag ist dann 7 (oder ist Sonntag 0)?
Ergibt für getDateOfISOWeek(2008, 23, 2);
Du wolltest uns mit dem 3.4. testen, oder ?
Ergibt für getDateOfISOWeek(2008, 23, 2);
Hab ich mir gedacht. Dann passt das so. (Normalerweise wäre Sonntag 0, so auch beiIch meine das Sonntag 7 ist.
.getDay()
.)Hehe, kommt drauf an wohin der Beginn der Epoche bei deiner Datenbasis gelegt wurde. 1900 hast du bspw. beiIch musste fürs Jahr noch 1900 aufaddieren.
struct tm::tm_year
in C wo (wie auch in JS) die Monate dazu noch im Bereich 0..11 liegen. Üblich wäre aber auch der 1.1.1970 als Beginn der Epoche.var dt = new Date(Date.UTC(y, 0, 1 + (cw - 1) * 7));
function getDateOfISOWeek(y, cw, wd) {
var dt = new Date(y, 0, 1 + (cw - 1) * 7);
dt.setDate(dt.getDate() - dt.getDay() + wd + (dt.getDay() <= 4 ? 0 : 7));
return ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"][dt.getDay()] + ", den " + dt.getDate() + "." + (dt.getMonth() + 1) + "." + (dt.getYear() +1896) ;
}
function submitForm(){
var year = document.getElementById("in").value.substr(0, 1).toUpperCase();
var week = document.getElementById("in").value.substr(1, 2);
var day = document.getElementById("in").value.substr(3, 1);
if(year == "S") { year = 2004; }
else if(year == "T") { year = 2005; }
else if(year == "U") { year = 2006;}
else if(year == "V") { year = 2007;}
else if(year == "W") {year = 2008;}
else if(year == "X") {year = 2009;}
else if(year == "A") {year = 2010;}
else if(year == "B") {year = 2011;}
else if(year == "C") {year = 2012;}
else if(year == "D") {year = 2013;}
else if(year == "E") {year = 2014;}
else if(year == "F") {year = 2015;}
else if(year == "H") {year = 2016;}
else if(year == "J") {year = 2017;}
else if(year == "K") {year = 2018;}
else if(year == "L") {year = 2019;}
else if(year == "M") {year = 2020;}
else if(year == "N") {year = 2021;}
else if(year == "P") {year = 2022;}
else if(year == "R") {year = 2023;}
else {
document.getElementById("myDIV").innerHTML = "Das Herstellungsdatum konnte leider nicht ermittelt werden.";
document.getElementById('information').style.display='block'
return;
}
document.getElementById("myDIV").innerHTML = "Die Fritz!Box wurde am " + getDateOfISOWeek(year,week,day) + " hergestellt.";
document.getElementById('information').style.display='block'
}
Ließe sich ja leicht verifizieren. Dazu müsstest du aber mal schreiben, wie die Strings aussehen die du da ausliest. Und apropos Strings - das was numerisch sein soll entsprechend zu konvertieren, könnte sehr sinnvoll sein. Insbesondere wenn du vorangestellte Nullen drin hast. Dann wäreHab aber so das gefühl das mir hin und wieder was falsches angezeigt wird.
parseInt()
mit Radix 10 quasi obligatorisch um nicht implizit oktal zu konvertieren.var week = parseInt(document.getElementById("in").value.substr(1, 2), 10);
+1896?