

引数で日付を2つ与え、
その間の日付リストを取得できるようなメソッドを
作成したいのですが、どのようにすればいいのでしょうか・・?
例えば、以下のような感じです。
●引数
1. 開始日(Date型) 例> 2003/4/12
2. 終了日(Date型) 例> 2003/6/25
●戻り値
開始日と終了日の間の日付(Date型)のリスト
例>2003/4/12~2003/6/25までの日付のリスト↓
4/12, 4/13, 4/14 ・・・・・ 6/23, 6/24, 6/25 が格納されたリスト
No.2ベストアンサー
- 回答日時:
kawaenさん、こんにちは。
考え方は#1の方の通りです。
穴空けで回答します。
public static List getDateList( Date headDate, Date tailDate )
{
// このメソッドの戻り値
List list = null;
// 1日加算用
Calendar calendar = null;
// リストに追加する要素
Date date = null;
// リストを生成します。
list = new ????;
// カレンダを生成し、最初の日付を設定します。
// CalendarクラスのgetInstanceメソッド、setTimeメソッドを使います。
calendar = ???
calendar.???
// ループの中で1日ずつ加算して、リストを生成します。
while( true )
{
// 現在の日付を取得
// CalendarクラスのgetTimeメソッドを利用します。
date = ???;
// 現在の日付が終了日付より未来になったら終了。
// DateクラスのcompareToメソッドを利用します。
if (??? > 0)
{
break;
}
// 現在の日付をリストに追加
list.add(date);
// 現在の日付を1日加算
// <=>"月の日数"を1増やします。
// Calendarクラスのaddメソッドを利用します。
calendar.add(???, 1) ;
}
// 生成したリストを戻します。
return list;
}
rollメソッドは(私は使ったことがなかったので調べてみましたが)、繰り上げ処理が行われないようです。たとえば、以下のように、7/31に1日rollすると7/1となりました。calendar = Calendar.getInstance();
calendar.set(2003, 7 - 1, 31);
System.out.println( calendar.getTime() );
calendar.roll(Calendar.DAY_OF_MONTH, 1);
System.out.println( calendar.getTime() );
なので今回はaddメソッドを採用しました。rollメソッドはこれはこれで別の機会で使えそうです。知ることが出来て嬉しいです。
参考URL:http://java.sun.com/j2se/1.4/ja/docs/ja/api/java …
No.1
- 回答日時:
Calendar(GregorianCalendar)の
roll()メソッドを使えばできるのではないでしょうか。
開始日でGregorianCalendarを初期化して、
roll(Calendar.DATE, true)で一日づつ加算して、
getTime()でDateを得てlistに格納し、
終了日になるまで繰り返すという…。
やったことがないので自信なしにしておきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【sendkeysメソッドが動かずに...
-
エクセルVBAで、条件に一致する...
-
0歳児の指しゃぶりに関して
-
javascriptからjavaを呼び出したい
-
単体テスト仕様書[正常系/異常...
-
VBPをダブルクリックするとたま...
-
javaで最前面表示はできますか?
-
Labelコントロールに数字を代入...
-
Application.Wait の参照設定
-
FEM解析の読み方は?
-
VBA/FIND関数を使っての先頭文...
-
処理内容がほぼ同じメソッドの...
-
worksheets & rows メソッドは...
-
エラーの意味を
-
JavaScriptでExcelのオートフィ...
-
『増加する』メソッド名は?
-
ポストバック時のDatasourceバ...
-
C# で一定時間待機するのにCPU...
-
JSPで<SELECT>の中にDBから持っ...
-
配列のメソッド
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0歳児の指しゃぶりに関して
-
エクセルVBAで、条件に一致する...
-
javascriptからjavaを呼び出したい
-
VBPをダブルクリックするとたま...
-
コマンドプロンプト実行後に画...
-
DataGridViewでセルクリックイ...
-
Labelコントロールに数字を代入...
-
final修飾子を使っているのに、...
-
ウィンドウを最前面にできません
-
配列のメソッド
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
メソッドをstaticにする、しな...
-
execute()
-
java 次の機能を有するメソッド...
-
PDFファイルから別ウィンドウで...
-
CALLされていないメソッドを見...
-
Excel : OpenTextメソッドが正...
-
C#で右からnカラム目に文字を挿...
-
eclipse-Tomcatでのデバッグに...
おすすめ情報