• 締切済み

スケジュール帳を作ろうとしています

Java初心者です。初歩的なことかもしれませんが、 アドバイス頂けますでしょうか。 現在jspでスケジュール帳を作成しようとしています。 画面は1日~末日までの日付がすべて縦向きに表示されるものです。 わからない所はたくさんあるのですが、現時点では月の変更処理で つまづいています。現在の日付の取得はできましたが、そこから先 ネットで調べていてもわからない用語がたくさん出てきて、 どうにもこうにもならない状態です。 まだ途中ですので意味不明な記述をしているかもしれませんが、 現時点のソースを簡略化したものを記載します。 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 【ファイル名:schedule.jsp】 <html> <head> <title>スケジュール帳</title> </head> <body> <%@ page import="java.util.Calendar" %> <% Calendar date = Calendar.getInstance(); /* 現在の日付情報を取得 */ int yy = date.get(Calendar.YEAR); int mm = date.get(Calendar.MONTH); // 0 = 1 月 int dd = date.get(Calendar.DATE); /* 月の最終日を取得*/ date.set(yy, mm + 1, 0); int lastday = date.get(Calendar.DATE); %> <% out.println("<a href='schedule.jsp?”ここで前月処理・・・”><</a>   " + yy + "/" + (mm + 1) +   "<a href='schedule.jsp?”ここで翌月処理・・・”>></a>"); %> ~ 省略 ~ </body> </html> -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- アドバイス頂けますでしょうか。 宜しくお願い致します。

みんなの回答

noname#119918
noname#119918
回答No.1

作りたいものが良くわからないのですが、 指定の年、月の1ヶ月間を表示するならば、 下のようなコーディングでOKです。 (jspは知らないので、コンソールで動作するJavaプログラムですが、 概要はつかめるかと思います。) import java.util.Calendar; class Schedule { public static void main(String [] args) { // 2007年12月、1ヶ月間を表示 monthSchedule(2007 , 12); } /* 日付を整形表示 @param date 日付オブジェクト */ private static void showDate(Calendar date) { StringBuffer buf = new StringBuffer(); buf.append(date.get(Calendar.YEAR)); buf.append("/"); int m = (date.get(Calendar.MONTH)); if(m == 12) { buf.append(1); } else { buf.append(m+1); } buf.append("/"); buf.append(date.get(Calendar.DATE)); System.out.println(buf.toString()); } /* 指定の年、月の1ヶ月間を表示 @param year 年 @param month 月 */ private static void monthSchedule(int year , int month) { System.out.println("---" + year + "/" + month + "---"); Calendar date = Calendar.getInstance(); // 月頭にセット date.set(Calendar.YEAR , year); date.set(Calendar.MONTH , month-1); date.set(Calendar.DATE , 1); Calendar last = Calendar.getInstance(); // 月末を表す last.set(Calendar.YEAR , year); last.set(Calendar.MONTH , month); last.set(Calendar.DATE , 1); while (date.before(last)) { showDate(date); date.add(Calendar.DATE , 1); } } }

関連するQ&A