• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:スケジュール帳作成について)

スケジュール帳作成の方法と予定表示の問題

このQ&Aのポイント
  • スケジュール帳の作成方法について解説します。30日分の表示と予定の表示を行いたい場合、ログファイルから日付を取得し、スケジュール帳と一致する日付に予定を表示します。
  • 現在の実装では、ログファイルの行数分だけ繰り返されてしまうため、予定がある日だけ表示する方法が必要です。
  • また、カレンダーの表示についても説明します。日曜日から土曜日までの表示順になるようにカレンダーを作成する方法を紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kirin_f
  • ベストアンサー率51% (44/85)
回答No.1

もし私が同じようなものを作るとしたら以下のような 流れにすると思います。 1.今日の日付を変数に格納。 2.30日後の日付も変数に格納。 3.ログファイルを開く 4.Forで1行づつ読み込みつつ、ログの日付部分と予定部分を分割。 5.IFでログの日付が今日以降&30日後以前(1と2の変数使用)だったら、ログの日付をKeyにした連想配列に格納。 6.3のFor終了 7.今日の日付に1日づつ足しながら30日後の日付までループさせる 8.7の1日づつ足している日付が5の連想配列のKeyと一致すればその内容を、なければブランクをPrint カレンダーのように曜日にあわせるのは、 7の部分で1日足した時に、localtime(参考URL参照)などで、その日付の曜日の数字も取得します。 例えば日曜日(0)だったら内容の前に</TR><TR>を出力させるなどします。 カレンダーの部分などは、フリーの配布CGIなどを参考にしてみるといいかもしれません。 日記などのCGIだとよくカレンダーを表示させるものとかあるので、どうやって作っているのかを見てみると参考になると思いますよ。

参考URL:
http://tohoho.wakusei.ne.jp/wwwperl2.htm#localtime
KODAMAR
質問者

お礼

回答ありがとうございます。 どうにか一覧(カレンダーではない方)はできました。 カレンダーの方もなんとか形にはなったのですが、どうしてもできないのが、たとえば今月は1日が月曜日ですよね? 1週目が6日分しかない。。 こういう場合はどのように記述すればいいのでしょうか?

関連するQ&A