- ベストアンサー
1週間分の日付を日が変わるごとに表示する方法
本日(仮に4/4とします。)を基本に1週間分(4/10)までの日付を一覧で表示したいと考えています。 なお、日付(サーバでの)が変わると、それに従って順次日付を更新します。(サーバの日付が4/5になると4/5~4/11のように。日付一覧の変更は、自動ではなく、更新ボタンを押して更新します。) 現在time()で秒数をもらってから、86400秒を足して・・・などと考えていますが、もっと簡単に+1などとして日付を足す方法は無いものでしょうか。 効率よく日付を計算できる方法があれば、ソースとともに教えていただければありがたいと思います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
$nday = mktime(); for($i=0;$i<7;$i++){ print date("n/j",mktime(0,0,0,date("m",$nday),date("d",$nday)+$i,date("y",$nday)))."<br>"; } てな感じで。 print文、2行になっちゃってるけど 1行でね。
その他の回答 (1)
- rhl
- ベストアンサー率37% (42/111)
回答No.1
getdate()なんてどうでしょうか? timastampを指定しなければ現在のtimestampを元に 日付情報を連想配列として返してくれます。 これで取得した日付に適宜7を足してやればよいのでは? もちろん月またぎの処理は考慮する必要があるでしょうが。
質問者
お礼
いまいちな関数ですよね。 確かにこれでできるのですが、コードが長くデバッグが大変です。 月またぎや年またぎはたまたうるう年などもうコード書くのがいやになってきました。
お礼
あら、こんなに簡単にできるのですね。 何せ初心者で、mktime()などは考えてみたのですが、教えていただいた方法でできることなど想像もつきませんでした。これから使っていくうちにどんどん覚えていきたいと思います。 やりたいことが実現できました。有り難うございました。