2009-06-12 6 views
3

で指定した日付のn番目の曜日を決定します上記の例。どのようにして「1st」を手に入れますか?は、どのように私は私がで</p> <p>「を毎月のすべての第一火曜日に繰り返し」 のようなカレンダーイベントを繰り返す必要がでカレンダーのスクリプトに取り組んでいますPHP

たとえば、今日は6月12,2009です。これは「6月の第2金曜日」という意味になります。「2nd」を取得するにはどうすればよいですか?事前に

おかげ

答えて

16

7で割ると切り上げる:

ceil(date('j')/7); 
+0

私はこの問題を解決する方法を考えようとしていました。これは私には起こりませんでした。清潔でエレガントな+1。 – cletus

+1

ええ、私は分かったし、私は "ああ、もちろん!" – nickf

+2

また、日付にオプションの第2パラメータ(タイムスタンプ)を使用することを忘れないでください。このソリューションは任意の日付に再利用できます。 – PatrikAkerstrand

3

これは動作します:

<?php 

$date = date('Y-m-d', mktime(0, 0, 0, date('m'), 1, date('y'))); 

echo date('Y-m-d', strtotime($date.'next tuesday')); 

?> 

最初の行は日付が今月の最初の日のthats作成します。 2行目は$ dateから次の火曜日を取得します。

さらに詳しくはdatemktimestrtotimeを参照してください。

+0

あなたは、OPが求めていることの逆をやっている。日付が与えられた場合、今月の金曜日(またはそれに関係なく)の数は何回目かを教えてください。第n金曜日の日付は何ですか? – nickf

+0

+1これが必要です=) – drikoda

関連する問題