我的协会在每个月的第二个和第四个星期二举行会议,我非常想要一个 Javascript 代码,这样我就不必每两周更新一次我们的网站,并且可以自动计算和显示下一次会议的日期。
我真的很感激一些帮助,因为我完全没有 Javascript 技能,只有 CSS 和 HTML。
我的协会在每个月的第二个和第四个星期二举行会议,我非常想要一个 Javascript 代码,这样我就不必每两周更新一次我们的网站,并且可以自动计算和显示下一次会议的日期。
我真的很感激一些帮助,因为我完全没有 Javascript 技能,只有 CSS 和 HTML。
这是一个解决方案
HTML
<ul id="list"></ul>
Javascript
function getTuesdays(month, year) {
var d = new Date(year, month, 1),
tuesdays = [];
d.setDate(d.getDate() + (9 - d.getDay()) % 7)
while (d.getMonth() === month) {
tuesdays.push(new Date(d.getTime()));
d.setDate(d.getDate() + 7);
}
return tuesdays;
}
var meetingTuesdays = [],
ul = document.getElementById("list"),
temp,
li,
i;
for ( i = 0; i < 12; i += 1) {
temp = getTuesdays(i, 2013);
meetingTuesdays.push(temp[1]);
li = document.createElement("li");
li.textContent = temp[1];
ul.appendChild(li);
meetingTuesdays.push(temp[3]);
li = document.createElement("li");
li.textContent = temp[3];
ul.appendChild(li);
}
console.log(meetingTuesdays);
更新:为您提供进一步的演示
Javascript
function getTuesdays(month, year) {
var d = new Date(year, month, 1),
tuesdays = [];
d.setDate(d.getDate() + (9 - d.getDay()) % 7)
while (d.getMonth() === month) {
tuesdays.push(new Date(d.getTime()));
d.setDate(d.getDate() + 7);
}
return tuesdays;
}
var today = new Date(),
theseTuesdays = getTuesdays(today.getMonth(), today.getFullYear()),
next;
theseTuesdays.some(function (tuesday, index) {
if (index % 2 === 1 && tuesday > today) {
next = tuesday;
return true;
}
return false;
});
alert("Our next meeting is on : " + moment(next).format("MMMM Do YYYY"));