- - PR -
今月の日付,曜日(1-31 金-土)を取得する
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-15 22:34
年と月を入力されたらその月の日、曜日を
vectorに格納したいんです。 なにかよい方法はないでしょうか? 宜しくお願いいたします。 たとえば2004/10月 なら vec_NITI.add = "1" vec_YOUBI.add = "金" vec_NITI.add = "2" vec_YOUBI.add = "土" ・・・ vec_NITI.add = "30" vec_YOUBI.add = "木" みたいな感じです。 | ||||
|
投稿日時: 2004-10-15 22:53
自分がやってる方法なんですが。
でもJAVAではないので、方法のひとつとして参考になれば。 ・月の日数の取得方法 閏年用と非閏年用の配列を用意して、月の日数はベタに持つ。 年と月を引数として、受け取った年と月から閏年かどうか判定し、閏年なら閏年用のそうでないなら非閏年用の配列から日数を返す関数を用意する。 ・曜日の算出方法 ツェラーの公式を使って、曜日を算出する 標準とかAPIとかで用意されているかもしれないですけど、 自分用のライブラリ化しているので、もっぱらこの方法でやってます。 _________________ | ||||
|
投稿日時: 2004-10-15 23:09
一般的にはjava.util.GregorianCalendarを使うのが一番楽ではないかと思います。
| ||||
|
投稿日時: 2004-10-16 23:03
みなさん 有難うございます。
ご参考にしたうえに2005/2の日にちを取得したところ"30"とでてしまいます。 なんでなんでしょうか??? Calendar cal_now = Calendar.getInstance(); Calendar aDay = new GregorianCalendar(2005, 3, 1); // 2月 Vector vec_day = new Vector(); int int_day_max = aDay.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println(int_day_max); | ||||
|
投稿日時: 2004-10-16 23:22
タマさん、こんにちは。
APIドキュメントには、
とありますから、new GregorianCalendar(2005, 3, 1);は 4月ですね。 [ メッセージ編集済み 編集者: Kissinger 編集日時 2004-10-16 23:22 ] | ||||
|
投稿日時: 2004-10-17 02:41
(勘違いしてたので削除) ![]() [ メッセージ編集済み 編集者: Cluster 編集日時 2004-10-17 02:43 ] | ||||
|
投稿日時: 2004-10-17 07:46
こんにちは、よっちゃんです。
以下を参考にしたら、如何でしょうか? http://www.h3.dion.ne.jp/~sakatsu/holiday_logic.htm |
1