
javaのPGを作成しています。
内容的には1週間分のカレンダーを表示しようと思っているのですが・・・・・
Calendarクラスを使用して、対象の日付と曜日を取得しようとしているのですが、
年月日は指定のものが取得できているようなのですが、曜日だけはおそらく来月の曜日を
取ってしまっているようです。
原因がまったく分かりません。
下に、Calendarクラスを使用した部分を抜粋した
ソースを記述するので、なにが原因か教えていただけないでしょうか?
【jspファイル内】
<%
Calendar cal= Calendar.getInstance();
cal.set( 2010, 11, 25 ); // ※実際は変数だが、正しい値が入っているのは確認済み
%>
・
・
・
for ( int loopCnt = 0; loopCnt < 7; loopCnt ++ ){
if ( loopCnt > 0 ){
cal.add(Calendar.DATE,1);
}
// デバッグ用
out.print( cal.get(Calendar.YEAR));
out.print( cal.get(Calendar.MONTH));
out.print( cal.get(Calendar.DATE));
out.print( cal.get(Calendar.DAY_OF_WEEK));
}
【実行結果】
2010 11 25 7
2010 11 26 1
2010 11 27 2
2010 11 28 3
2010 11 29 4
2010 11 30 5
2010 11 31 6
No.1ベストアンサー
- 回答日時:
>month - the value used to set the MONTH calendar field. Month value is 0-based. e.g., 0 for January.
不思議なことに月は
0→1月
1→2月
11→12月
という仕様なんです。元から。
2010年12月25日は土曜日で、7で間違っていません。
早速の回答ありがとうございます。
つまり、Calendar.set(自分で指定した年月日)を使用する場合、
setの段階で、指定月から - 1して、
表示時には改めて + 1してから取得するということになるんですかね?
なかなか面倒くさいですね・・・
でも、問題が解決しました。
ありがとうございます。
No.3
- 回答日時:
この手の話で「月が 0~11」というときは, たいてい配列と関係がある. つまり, 月の名前を文字列で取得するときに 0~11 なら
static final String[] month_name = { "January", "February", ... };
とすればいいが 1~12 だと
static final String[] month_name = { null, "January", "February", ... };
と要素が 1つ余計に必要.
まあ非常にせこい話だが, この仕様は少なくとも Unix にさかのぼるはずで, そのときには「使えるメモリが今に比べて格段に少ない」という事情があった.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) DATE関数で指定する「日」のセルが関数の場合の対処法 5 2022/09/14 15:46
- Visual Basic(VBA) swiftで年号を 1 2023/02/05 06:48
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- サーバー Windows2019CALとRDS CALについて 1 2022/06/19 13:48
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- 犬 柴犬が笑っている!? 8 2023/05/15 12:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.err. printlnとSystem.o...
-
1~100までの数字を表示したい
-
一定のスペースを空けて端を揃...
-
Javaで改行などが出来ないのです。
-
1~100までの数字を表示し、か...
-
flush()とclose()について
-
system.out.printが出力されない
-
OpenSSL関数エラーについて
-
switch分が機能しません。
-
Tomcatが無応答となる現象が起...
-
Log4jで機能毎に別ファイルへ出...
-
JavaScriptを使ってロト6の当...
-
出力する桁数
-
テキストエリアで改行する
-
System.out.printlnの出力先
-
InputStreamはreadが1回しかで...
-
tomcatのstdout.logを停止したい。
-
半角カナが含まれる文字列をフ...
-
POIでExcelに時刻(h:mm)の値を...
-
サーブレットで入力エラー時に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.err. printlnとSystem.o...
-
System.out.printlnの出力先
-
flush()とclose()について
-
Log4jで機能毎に別ファイルへ出...
-
system.out.printが出力されない
-
Javaで改行などが出来ないのです。
-
Tomcatが無応答となる現象が起...
-
1~100までの数字を表示したい
-
一定のスペースを空けて端を揃...
-
InputStreamはreadが1回しかで...
-
Log4Jではログを改行できない?
-
Eclipseのコンソールを常に表示...
-
1~100までの数字を表示し、か...
-
switch分が機能しません。
-
数字文字列をパック10進数に変...
-
javaにおけるCSV出力時の文字コ...
-
tomcatのstdout.logを停止したい。
-
Java 九九の表について
-
VBSエラー"オブジェクト型の変...
-
Java swing エクセル書き込み
おすすめ情報