Countdown - Wochentagermittlung

Jawohl! Vielen Dank der Herr ;)
Immer wieder gut hier nach Hilfe zu suchen. Hast mir viel "Denk"-Arbeit erspart :)

grüße
freak

PS: Hier nochmal abschließend der Code

PHP:
var today = new Date();
var nextMonth = new Date();

// Uhrzeit
var stunde = 19;
var minute = 00;
var sekunde = 00;

//Wochentagabfrage, erster (hier: 5  = Freitag) des nächsten Monats
if (today.getDate() > 5) {
    var m = (today.getMonth() < 11)? today.getMonth() + 1 : 0;
    var y = (m == 0)? today.getYear() + 1900 + 1 : today.getYear() + 1900;
}
else {
    var m = today.getMonth();
    var y = today.getYear() + 1900;
    if (today.getDay() == 5) {
        if (today.getHours() > stunde || (today.getHours() == stunde && today.getMinutes() > minute) || (today.getHours() == stunde && today.getMinutes() == minute && today.getSeconds() > sekunde)) {
            var m = (today.getMonth() < 11)? today.getMonth() + 1 : 0;
            var y = (m == 0)? today.getYear() + 1900 + 1 : today.getYear() + 1900;
        }
    }
}

// Erster des nächsten Monats
nextMonth.setMonth(m);
nextMonth.setYear(y);
nextMonth.setDate(1);

// (hier: 5 für Freitag -> suchen solange nicht gleich 5)
while(nextMonth.getDay() != 5) {
    nextMonth.setDate(nextMonth.getDate() + 1);
}

nextMonth.setHours(stunde, minute, sekunde); 

var diffDate = (nextMonth.getTime() - today.getTime()) / 1000;

// Tagesanteil berechnen
var days = int(diffDate / 24 / 60 / 60 );
var diffDate = diffDate - (days*24*60*60);
// Stundenanteil berechnen
var hours = int(diffDate / 60 / 60);
var diffDate = (diffDate - (hours*60*60));
// Minutenanteil berechnen
var minutes = int(diffDate/60);
var diffDate = diffDate - (minutes*60);
// Sekundenanteil
var seconds = int(diffDate);


EDIT:

Was mir nur grade auffällt. Man kann ja nun keinen Freitag bestimmen der am 7. ... ist . hm...
zumindest klappt es im Oktober diesen jahres schonmal nicht.
 
Zuletzt bearbeitet:
Zurück