2013-05-09 89 views
1

我的協會在每個月的第二個和第四個星期二召開會議,我真的很喜歡Javascript代碼,所以我不必每兩週更新一次我們的網站,下次會議的日期可以自動計算和顯示。用JavaScript查找本月的第二個和第四個星期二

我真的很感謝一些幫助,因爲我絕對沒有使用Javascript的skils,只有CSS和HTML。

+0

http://stackoverflow.com/about – Xotic750 2013-05-11 09:19:31

回答

2

這是一個解決方案

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); 

jsfiddle

更新:進一步證明你

的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")); 

jsfiddle

+0

這幾乎是我正在尋找,但我只想要一個顯示日期的時間。 – user2367108 2013-05-09 17:14:30

+0

這個想法是: 「我們的下一次會議是在:[日期]」 – user2367108 2013-05-09 17:14:55

+1

所以,只要選擇一個月並根據需要設置結果的格式,這個例子就可以得到所有的結果。使用getTuesdays()函數,它將返回該月份和年份的所有星期二。我整整一年都在爲了讓你獲得一切。我甚至在我的jsfiddle中加入了moments.js文件,使得格式化更簡單,http://momentjs.com/ – Xotic750 2013-05-09 17:19:32

相關問題