2011-02-08 21 views
2

曜日(var日)を指定すると、今日から今日までの 日の日付が表示されます。 4 =木曜日以来、私は今年のすべての木曜日のリスト を得ます。私はちょうど好奇心があった場合、これを達成するためにいくつかの 'neater'方法があった?年の各週木曜日の日付を取得する

var day = 4; 
var date = new Date(); 
var nextYear = date.getFullYear() + 1; 

while(date.getDay() != day) 
{ 
    date.setDate(date.getDate() + 1)  
} 

while(date.getFullYear() < nextYear) 
{ 
    var yyyy = date.getFullYear(); 

    var mm = (date.getMonth() + 1); 
    mm = (mm < 10) ? '0' + mm : mm; 

    var dd = date.getDate(); 
    dd = (dd < 10) ? '0' + dd : dd; 

    console.log(yyyy + '-' + mm + '-' + dd) 

    date.setDate(date.getDate() + 7); 
} 

出力:

2011-02-10

2011-02-17

2011-02-24

2011-03-03

2011-03-10

..etc

答えて

5

Datejsを使用した場合、それはもっときれいに見えます。

var thursday = Date.today().next().thursday(), 
    nextYear = Date.next().january().set({day: 1}), 
    format = 'yyyy-MM-dd'; 

while (thursday.isBefore(nextYear)) 
{ 
    console.log(thursday.toString(format)); 
    thursday = thursday.add(7).days(); 
} 

http://code.google.com/p/datejs/も参照してください。

+2

+1 Datejsを使用しています。私はその図書館が大好きです... –

+0

@アルファ:私も。残念ながら、開発は完全に停止しているようです... –

+0

@Matt:そうです。 : 私は自分自身でそれを取ることを考えましたが、私はかなり忙しいです。 –

関連する問題