• 締切済み

開始日(Date型)から終了日(Date型)までを1日毎に表示

Dateオブジェクトが2つあり↓ (1) 開始日を表すDate型オブジェクト  例.2003/4/10 (2) 終了日を表すDate型オブジェクト  例.2003/5/20 (1)の開始日から(2)の終了日までの日にちを表示したいのですが・・ 例えば、以下のような感じです。 for ( 開始日から終了日までループ ) { 開始日に1日づつ足していき、終了日まで達した場合は、ループを抜ける } <表示例> 2003/4/10 2003/4/11 2003/4/12   ・   ・ (省略)   ・   ・ 2003/5/18 2003/5/19 2003/5/20 これを実現するには どうすればいいでしょうか・・

みんなの回答

  • chi-kon
  • ベストアンサー率43% (58/132)
回答No.2

日付関連が苦手のようですね?? こんなんどうでしょう?? public static void display(Date date1, Date date2) { Calendar cal1 = GregorianCalendar.getInstance(); Calendar cal2 = GregorianCalendar.getInstance(); cal1.setTime(date1); cal2.setTime(date2); for(;cal1.getTime().before(cal2.getTime());){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); System.out.println(sdf.format(cal1.getTime())); cal1.add(Calendar.DATE,1); } }

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

kawaenさん 同様の質問をされていますね。 http://www.okweb.ne.jp/kotaeru.php3?q=611712 あのときの回答で今回の回答の半分以上は済んでいますね。とすると後は... 1.あのメソッドを完成させる。 2.戻り値のListに入っているDateオブジェクトを順番に取得する。 3.取得したDateオブジェクトを好みの形式に整形して出力する。 です。 どうしても詰まるようであれば、どこで詰まるのか明確にしてから、補足してください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 開始日と終了日を入力し、その間の期間を表示させたい。

    すみません・・・先程質問したものですが、先程の質問と関連した質問なのですがもしわかる方いらっしゃれば教えて頂けないでしょうか EXCELで以下の画像のような表を作りたいです。 開始日と終了日を入力すると、その間の期間を2種類の方法で表示する。「●年●ヶ月」「●ヶ月」 次に、期間の合計を、上記の2種類の方法で表示する。「●年●ヶ月」「●ヶ月」 例えば、 A2・・・開始日 ※数値直接入力(入力例:2008/4/1) B2・・・終了日 ※数値直接入力(入力例:2009/5/31) C2・・・開始日と終了日の間の期間。表示方法は「●年●ヶ月」 ※計算式や関数などが入る D2・・・開始日と終了日の間の期間。表示方法は「●ヶ月」 ※計算式や関数などが入る 更に、合計も計算したいので C5・・・C2~C4までの合計。表示方法は「●年●ヶ月」 ※計算式や関数などが入る D5・・・D2~D4までの合計。表示方法は「●ヶ月」 ※計算式や関数などが入る という感じです。 ※尚、画像ではD列に表示されてる期間がカッコ()で囲まれていますが、 ややこしければ、カッコ()なしの表示でもOKです。 説明がわかりにくかったらすみません・・・ 尚、バージョンはEXCEL2007です。 よろしくお願いします。

  • Excelで開始日と終了日を表示させたい

    Excel2002についてお願いいたします。 A1、B1、C1・・・のセルには日付が順番に入っています。 (例えば、1月1日、1月2日、1月3日、1月4日、1月5日・・・) A2、B2、C2・・・のセルには「○」が入っているセルと空欄のセルがバラバラに入っています。 (例えば、○、○、空欄、○、空欄・・・) 今、日付の下に○が入っているうちで一番早い日付と一番遅い日付を、「開始日」、「終了日」として表示させたいのですが、どうしたらよいでしようか? 上の例ですと、 開始日 1月1日 終了日 1月4日 と表示させたいのです。 よろしくお願いいたします。

  • accessで日付から年度の開始日と終了日を自動表示したい

    Access2000を使っています。 「今日の日付」(=Date()を使い自動表示しています)というエリアの日付を基に、年度の開始日と終了日を自動表示したいのです。 例えば 「今日の日付」が2008/3/29 だったら  「開始日」に 2007/04/01  「終了日」に 2008/03/31 「今日の日付」が2008/4/3 だったら  「開始日」に 2008/04/01  「終了日」に 2009/03/31 環境は、Access2000、winXPです。どなたかよい方法をご存知の方、回答よろしくお願いします。

  • 開始日と終了日が設定されているデータの扱いについて

    開始日と終了日が設定されているデータの扱いについて教えてください。 すでに複数登録されているデータには、開始日と終了日というフィールドが登録されています。  → "開始日","終了日","箱1","箱2" → "051101","051130","a1","a2" → "051201","051231","b1","b2" 新しいデータを追加する際、すでに登録された期間に被っていた場合はエラー表示させたいのですが、そのやり方がわかりません。 (※12月1日~12月31日までというデータがすでに登録されていた場合、  11月1日~12月15日というデータは登録できない、という感じです) とりあえず下記のようにやったりしているのですが、 どうも思ったように動いてくれません また、SELECTを使うものなのか疑問に思っています。 $start_date = "2005-12-01" $end_date = "2005-12-31" $hoge = "SELECT * FROM table_name WHERE ( date_start<='"$start_data"' AND date_end>='"$start_data"' ) OR ( date_start<='"$end_data"' AND date_end>='"$end_data"')"; $db_query = sql_query($hoge,$ID); $array_result = mysql_fetch_array($db_query); if(empty($date_start_check) != TRUE ){ die("この期間内のデータはすでに登録されています。"); } 何卒、良いやり方を教えてくださいm(_ _)mペコリ

    • ベストアンサー
    • MySQL
  • 週の開始日・終了日を求めるSQL

    ISO規格の年+週(TO_DATEの書式のIYYY+IW)から実際の日付を取得する方法に苦戦しています。 例えば「2008年1週」という値を受け取ると、週の開始日「2007/12/31」または終了日「2008/1/6」という値を返すようにしたいのです。 これをSQLまたはPL/SQLで実現したいのですが、いいヒントがありましたらご教授願います。 ORACLE10を使っています。

  • 開始と終了を指定して、その間の日付を取得したい。

    開始と終了を指定して、その間の日付を取得したい。 C#(VS2008)環境です。 開始日と終了日を指定して、日付のリスト(できれば曜日を含む)が 戻ってくるようなメソッドを作りたいと思っています。 単純に、今月の1日から20日まで、とかならループして作れそうに 思うんですが。 たとえば、2010/02/20を開始、2010/03/20を終了とするような、 月をまたぐような場合にどうしよう…と悩んでいます。 (2010/02/20、2010/02/21、2010/02/22…というようなリストがほしい) アドバイスいただけないでしょうか。

  • 開始日と期間で終了日を求める方法を教えて下さい。

    こんにちは、開始日と期間で終了日を求める方法を教えて下さい。 java1.4を使用しています。 開始日:2008-08-01(String) 期間:14(int) 営業日だけの数値です。 休日はDBから取得ができ、 月~日までのカラムがあり 休日の場合は、「0」そうでない場合は「1」になっています。 * 休日は任意で「土曜、日曜」だけとは限りません。 上記の数値で計算すると、2008-08-14になりますが、 休日も含めた日数で表示をさせたいです。 表示させたい結果:2008-08-20 本当に、困っています。どうぞよろしくお願いいたします。

    • ベストアンサー
    • Java
  • Mysqlで掲載開始日と掲載終了日が設定されている商品レコードを抽出し

    Mysqlで掲載開始日と掲載終了日が設定されている商品レコードを抽出したい Perl+Mysqlでデーターの抽出する際に困っております。 商品テーブル(item)がありその中には、date型のstart_dateとlast_dateのカラムがあります。 +-----+----------+-----------+ |itemid | start_date |  last_date   | +-----+----------+------------+ | a001 | 2010-08-31 | 2010-09-31  | | a002 | 2010-09-01 | 2010-09-21  | | b002 |  NULL    |   NULL    | | c003 |  NULL    |  2010-09-03  | +-----+------------+------------+ まず、本日が2010/08/30だったとしたばあい、b002とc003は表示されるようにしたいのです。 Perl上で start_date とlast_dateの期間内であればprintすればいいというこではなく、 あくまでslq文上一回のQueryでそれを実現したいのです。 といいますのも、ページ送り(ページャー)を表示させるために予め 抽出条件の全レコードの件数を取得する必要があります。 大変恐れ入りますが、ご教授お願いいたします。

    • ベストアンサー
    • MySQL
  • 【Excel2000】開始日と終了日から特定期間の抽出を行う方法

    開始日と終了日がExcelのセルに指定されています。 例) 名前 開始日  終了日 ------------------------ AAA H13.2.3 H16.2.3 BBB H12.1.5 H13.3.3 CCC H15.3.1 H17.2.15 たとえば上記から昨年度一年間の期間(H15.4.1~H16.3.31)を含んだレコードを抽出したい場合、どのようにすればよいでしょうか。なお開始日と終了日の期限はばらばらであり、未来日も存在します。通常のフィルタでは行うことができないと思いますので、他に方法がありましたらお教えください。

  • Accessクエリーにて開始日と終了日から期間を算出

    Accessのクエリーにて、開始日と終了日から該当月の貸し出し期間の算出方法を教えて下さい。 条件ですが、 月単位での算出の為、1ヶ月は「1」、半月は「0.5」で算出します。 当月に開始された明細では、 15日までに開始されれば1ヶ月で算出 16日以降に開始されれば半月で算出 当月に終了された明細では、 15日までに終了されれば半年で算出 16日以降に終了されれば1ヶ月で算出 同月内に開始・終了の場合は1ヶ月で算出 貸し出し中の明細の場合、「終了日」はNULLです。 算出年月 200712の場合のデータは下記の通りです 「算出年月」、「開始日」、「終了日」、 200712、20071210、、、期間は「1」 200712、20071220、、、期間は「0.5」 200712、20050505、20071219、期間は「1」 200712、20061222、、、期間は「1」 200712、20071201、20071210、期間は「1」 宜しくお願い致します。