Ziel: Zeigt automatisch das Datum eines bevorstehenden zweiwöchentlichen Ereignisses an. In diesem Fall jeden Samstag. Idealerweise durch Modifikation des bestehenden Codes.Datum Objektalgorithmus zur Rückgabe des nächsten zweiwöchentlichen Wochentages
z.B. Wenn eine Veranstaltung am 9. Juli stattfindet und heute am 11. Juli ist, ist die nächste Veranstaltung der 23. Juli. Wenn heute der 24. Juli ist, ist die nächste Veranstaltung der 6. August und so weiter ...
Problem: How to Berechnen Sie das Datum? (Ich nehme an, dass ein Referenzstartdatum benötigt wird, beispielsweise 9. Juli 2016)
Hintergrund/Vorhandener Code: Berechnen Sie das Datum eines nächsten gegebenen Wochentages. (Wenn heute Montag der 14. ist, was ist das Datum des kommenden Samstags?). HINWEIS: In diesem Fall ist das Ereignis jeden Freitag & Samstag. Wir zeigen die Daten für kommenden Freitag und Samstag an. ABER ich wollte sicherstellen, dass die angezeigten Daten immer am selben Wochenende fallen. (Wenn heute Samstag ist, sollte FR-Datum gestern sein, und SAT-Datum sollte heute sein).
(function() {
// Today's date
var startingDate = new Date();
// Find date of nearest day of week
function dateOfNearestDay(startingDate, nearestDay) {
// Date object to work with inside the function
var nearestTime = new Date(startingDate.getTime());
// If today is Sat, use last Fri's date, else calculate date of nearest day
if (startingDate.getDay() === 6 && nearestDay === 5) {
nearestTime.setDate((startingDate.getDate() + (7 + nearestDay - startingDate.getDay()) % 7) - 7);
}
else {
nearestTime.setDate(startingDate.getDate() + (7 + nearestDay - startingDate.getDay()) % 7);
}
return nearestTime;
}
// Format date as needed for display
function getMonthAndDay(date) {
// Array to store month names for translation
monthNames = ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];
return monthNames[date.getMonth()]+ " " + date.getDate();
}
// Get date object of nearest Friday and Saturday
var friday = dateOfNearestDay(startingDate, 5);
var saturday = dateOfNearestDay(startingDate, 6);
var fridayDate = document.getElementById('friday');
var saturdayDate = document.getElementById('saturday');
// Write month & day of nearest day
fridayDate.textContent = getMonthAndDay(friday);
saturdayDate.textContent = getMonthAndDay(saturday);
}());
was wird es am 23. Juli zeigen? der nächste bis nächste Samstag Datum oder Datum dieses Tages? –