我的协会在每个月的第二个和第四个星期二召开会议,我真的很喜欢Javascript代码,所以我不必每两周更新一次我们的网站,下次会议的日期可以自动计算和显示。用JavaScript查找本月的第二个和第四个星期二
我真的很感谢一些帮助,因为我绝对没有使用Javascript的skils,只有CSS和HTML。
我的协会在每个月的第二个和第四个星期二召开会议,我真的很喜欢Javascript代码,所以我不必每两周更新一次我们的网站,下次会议的日期可以自动计算和显示。用JavaScript查找本月的第二个和第四个星期二
我真的很感谢一些帮助,因为我绝对没有使用Javascript的skils,只有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"));
这几乎是我正在寻找,但我只想要一个显示日期的时间。 – user2367108 2013-05-09 17:14:30
这个想法是: “我们的下一次会议是在:[日期]” – user2367108 2013-05-09 17:14:55
所以,只要选择一个月并根据需要设置结果的格式,这个例子就可以得到所有的结果。使用getTuesdays()函数,它将返回该月份和年份的所有星期二。我整整一年都在为了让你获得一切。我甚至在我的jsfiddle中加入了moments.js文件,使得格式化更简单,http://momentjs.com/ – Xotic750 2013-05-09 17:19:32
http://stackoverflow.com/about – Xotic750 2013-05-11 09:19:31