我的協會在每個月的第二個和第四個星期二召開會議,我真的很喜歡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