• 締切済み

Calendarクラスを使って次の週の月曜日を知りたい

Calendarクラスを使い、現在日付を取得するところまではよいのですが、その日について、次の週の月曜の日付を知りたいのですが、どのようにすればよいかわかりません。 ぜひ教えてください。お願い致します。

  • Java
  • 回答数1
  • ありがとう数3

みんなの回答

  • arata
  • ベストアンサー率49% (139/279)
回答No.1

こんな感じでしょうか。 月曜日だと大丈夫なのですが、来週の日曜日を取得するようにする場合、フランスだと月曜日が週の最初の日なので結果が違ってくるかも(笑い) import java.util.Calendar; import java.text.SimpleDateFormat; class NextMonday { public static void main( String[] args ) { //現在の日付を取得 Calendar calen = Calendar.getInstance(); //今週の月曜日を取得 calen.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY); //7日加算 calen.add(Calendar.DATE,7); //日付の表示のフォーマットを作成 SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy/MMM/d EEE"); //表示用に文字列に変換 String dateString = dateFormatter.format( calen.getTime() ); //来週の月曜日を出力 System.out.println( dateString ); } }

関連するQ&A

  • Javascript 週間カレンダーを月曜始まりに

    現在、こちらのような週間カレンダーをJavascriptを使い作成しております。 http://sample.ul-inc.jp/ 曜日の取得、曜日によるタブの自動切り替えの設定は出来たのですが、週の日付の更新が日曜日になってしまいます。 日曜の0時に週の日付が更新されてしまう状態です。 なので、日曜日に閲覧すると次の週の日付が表示されてしまっています。 こちらを、月曜の0時に日付が更新されるように設定をすることは可能でしょうか? 何卒よろしくお願いいたします。

  • javaで週の最初の日(例:月曜日)を求める事ができるのでしょうか?

    javaで指定した日付の曜日を取得できたのですが、 (例:今日(2002/07/16)なら、「火」を取得) 指定した日の週の最初の日付を取得する事ができるのでしょうか? (例:今日(2002/07/16)なら、今週の月曜(2002/07/15)の日付を取得) もし、何か分かることがありましたら、ご教授お願い致します。

    • ベストアンサー
    • Java
  • 第1月曜日は第1週の月曜日かその月の最初の月曜日か

    皆さんに一般論的、社会通念的なところもからめて伺いたいのですが,第1月曜日、第2月曜日といった言葉の「第1、第2」というのは、 「カレンダー上の第1週の月曜日」でしょうか、 それとも「その月の最初の月曜日」なんでしょうか? 今月4月はキレイに日曜頭の1日始まりで誰の目にも4月2日が第1月曜日ですが、翌5月をみると、火曜日1日はじまりです。こういった場合、第1月曜日は「5月7日」であると考える人はいないのでしょうか? 理美容関係の業種等、「その月の最初の月曜日」を「第1月曜日」としてないかなぁと・・・。

    • ベストアンサー
    • Perl
  • 週の始まりは、日曜日それとも月曜日?

    常識をお聞きするようでお恥ずかしいのですが..... よく「今週の○○曜日」という言い方をしますが、週の始まりは日曜日なのでしょうか、それとも月曜日なのでしょうか。 私は、カレンダーを見ると日曜日から始まっているため、週の始まりは日曜日だと思っていますが、それで正しいでしょうか。

  • 年間カレンダーの第1週目はどこから始まりますか。

    年間カレンダーの第1週目はどこから始まりますか。 ドイツの会社と取引があり、納期連絡が「第25週目」とかという表現を使ってきます。 そこで海外のカレンダーを見ると、月曜日始まりで、2011年は1月3日の週が第1週になっています。 これは始めての月曜日がある週を第1週目と考えているのでしょうか。 日本では日曜日始まりなのでこの辺が混乱します。 どなたか週の数え方の定義をご存知でしょうか。

  • カレンダークラス

    入力値の日付から1年後の日付をもとめたいのですが、よく分かりません。 入力値は XXXX年 XX月 XX日 のような感じです。 Calendar cal1 = Calendar.getInstance(); cal1.set(int,int,int);で上記で入力された値をint型にして設定し、 その後に、cal1.add(Calender.YEAR,1); としています。 なのですが、なぜだか1ヶ月進んだ値が返却されます、、 2009/01/01なら2010/02/01が返却される。 また現在日付を取得して表示しても1ヶ月進んで表示されるのですが、、 どなたか詳しい方教えて下さい。宜しくお願いします。

    • ベストアンサー
    • CGI
  • Calendarクラスについて

    java勉強中の初心者です。 現在、カレンダークラスの勉強をしています。 いろいろ試しているのですが、お聞きしたいこと があります。 末日を取得するgetActualMaximumメソッドですが Calendar cl = Calendar.getInstance(); int lastDay = cl.getActualMaximum(Calendar.DATE); でその月の末日を取得できることがわかりましたが 応用で、1年間の(1月~12月)すべてを取得するときに -------------------------------------------------- Calendar cl = Calendar.getInstance(); for(int n = 1; n<=12; n++){ cl.set(2005,12+n,1); cl.add(Calendar.DAY_OF_MONTH,1); cl.set(cl.get(Calendar.YEAR),cl.get(Calendar.MONTH),cl.getActualMaximum(Calendar.DATE)); System.out.println(cl.get(Calendar.YEAR) +"年"+ cl.get(Calendar.MONTH ) + "月"+ cl.getActualMaximum(Calendar.DATE) +"日"); } } } ------------------------------------------------- 月は「0」から始まるということは理解できたのですが これだと実行結果が 2006年1月28日 2006年2月31日 2006年3月30日 2006年4月31日 2006年5月30日 2006年6月31日 2006年7月31日 2006年8月30日 2006年9月31日 2006年10月30日 2006年11月31日 2007年0月31日 ---------------------------------------------- となってしまうのですが、一番初めが2月の 末日を取得してしまっているのはわかっているのですが どこを直せばよいのかわかりません。 ご教授お願いできますか? よろしくお願いいたします。

    • ベストアンサー
    • Java
  • カレンダーの週について

    子供じみた質問で恐縮なのですが、カレンダーで今月12月の場合、1日が土曜で、すぐ次の週に段が変わりますが、1日土曜日を1週目と数えて良いですか?

  • 月曜日から始まる週間カレンダーの作り方

    いつもありがとうございます。 下記のようなコードを書いて1週間のカレンダーを作っていますが、 どうしても日曜日からの表示になります。 この表示を月曜日から始まり、日曜日で終わるカレンダーにならないものか考えるのですが、どうもうまくいきません。 よきアドバイスをお願いします。 <? //来週・前週の---日曜日----をgetした値 $get_sunday = htmlspecialchars($_GET["get_sunday"]); $entry_day = htmlspecialchars($_GET["entry_day"]); //変数の値の識別カレンダー表示 //get_sunday (来週・前週)の値がgetされていたら if($get_sunday!=""){ //getされた日曜日の日付 $mm = date("m",strtotime($get_sunday)); $dd = date("d",strtotime($get_sunday)); $yyyy = date("Y",strtotime($get_sunday)); //getされた日曜日の日付(日のみ) $sunday_num = $dd; //getされた日曜日の日付(年月日) $kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy)); } // ================================================= //変数の値の識別           カレンダー表示 //entry_day (指定した日)の値をgetされたら if($entry_day!=""){ $mm = date("m",strtotime($entry_day)); $dd = date("d",strtotime($entry_day)); $yyyy = date("Y",strtotime($entry_day)); //$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年) //日0・月1・火2・水3・木4・金5・土6 $week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy)); //entry_dayの値 $kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy)); //日曜日の日付(日のみ) $sunday_num = $dd - $week_num; } // ================================================= //変数の値がない場合は本日の日付の取得 カレンダー表示 if($get_sunday=="" and $entry_day==""){ $mm = date("m",time()); $dd = date("d",time()); $yyyy = date("Y",time()); //$week_numに今日の曜日ナンバーを代入(mktime(0,0,0,今日の月,今日の日,今日の年) $week_num = date("w", mktime(0,0,0,$mm,$dd,$yyyy)); $kyujin_day = date("Y-m-d",mktime(0,0,0,$mm,$dd,$yyyy)); //日曜日の日付(日のみ) $sunday_num = $dd - $week_num; } //前週、次週に日曜日の日付を取得    カレンダー表示 $sunday_last = $sunday_num - 7; $sunday_next = $sunday_num + 7; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>レンダー画面</title> </head> <body> <table> <tr> <td></td> <td bgcolor="#00FFFF">日</td> <td bgcolor="#00FFFF">月</td> <td bgcolor="#00FFFF">火</td> <td bgcolor="#00FFFF">水</td> <td bgcolor="#00FFFF">木</td> <td bgcolor="#00FFFF">金</td> <td bgcolor="#00FFFF">土</td> <td></td> </tr> <tr> <form method="get" name="form2"action="test2.php"> <td> <input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_last, $yyyy)); ?>"> <input type="submit" name="Submit2" value="前週へ"> </td> </form> <? //週カレンダー(前週ボタン作成)ここまで //週カレンダー日付を入れる $w2 = $sunday_num; $select_day = date("Y-m-d", mktime(0, 0, 0, $mm, $w2, $yyyy)); $i = 0; while($i < 7) { //日曜日から順に日付を$select_dayに入れていく ?> <td bgcolor="#CCFFFF"><? echo date("m月d日", mktime(0, 0, 0, $mm, $w2+$i, $yyyy)) ?></td> <? // 日付けを一つ繰り上げる $i++; } ?> <form method="get" name="form2" action="test2.php"> <td> <input type="hidden" name="get_sunday" value= "<?php echo date("Y-m-d", mktime(0, 0, 0, $mm, $sunday_next, $yyyy)); ?>"> <input type="submit" name="Submit" value="次週へ"> </td> </form> </table> </body> </html>

    • 締切済み
    • PHP
  • エクセル2003 週5のカレンダー

    週5のカレンダーを関数かマクロで作れないでしょうか? 質問で、同じ質問を探してみたんですが、見当たりません。 イメージとしては、 A1に西暦で「年」 B1に「月」 を入力すると、自動に日付を表示させたいのです。 因みに、A2、B2、C2、D2、E2、F2、G2は「曜日」を 固定で入力しておきます。 ほとんどのカレンダーは、 週6で作られていますが、 私が作りたいのは、週5です。 以下のイメージは、 実際のカレンダーとは違いますが、 例えると、30日と31日が6週目になる月は、 1週目の頭に持っていきたいんです。 ※表示上「_(アンダバーを入れてあります)」 _____(A)__(B)__(C)__(D)__(E)__(F)__(G) (1)_2010__3 (2)__日___月_____火____水____木____金___土 (3)__30___31_________________________________1 (4)___2____3_______4_____5______6_____7_____8 (5)___9___10______11___12_____13___14___15 (6)__16__17______18___19_____20___21___22 (7)__23__24______25___26_____27___28___29 他の質問を見て、試してみたんですが、 上手く行きませんでした。 さらに、土・日・祭日のセルの色を 自動に背景色が自動に黄色にできるといいのですが・・・。 アドバイスがありましたら、 よろしくお願い致します。