- - PR -
月の最終日を求める。
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-09-25 14:39
こんにちは。
JAVAで月の最後の日付を求める関数などあるのでしょうか? たとえば 2003/09 → 30 2000/02 → 29 とういう感じです。 ご存知の方がいらっしゃったらご教授お願いします。 | ||||
|
投稿日時: 2003-09-25 14:59
そのものずばりはないでしょうが、以下のようにすれば求められると思います。
#コンパイルも実行もしていないので、間違っていたらすいません Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, 1); cal.set(Calendar.DAY_OF_MONTH, 1); cal.add(Calendar.DAY_OF_MONTH, -1); | ||||
|
投稿日時: 2003-09-25 15:01
そのようなメゾットは存在しません。 月末の日付を取得したければ、 日付を翌月の1日にセットして、1日減らすだけかと・・・。 | ||||
|
投稿日時: 2003-09-25 15:01
java.util.Calendar#getActualMaximum
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Calendar.html#getActualMaximum(int) でどうでしょう。 | ||||
|
投稿日時: 2003-09-25 15:05
計算するのではだめなの?
関数は知らない。ごめんなさい。だから私は、 caseを使って1月なら31、 2月は、閏があるから if ((YYYY % 4 == 0 && YYYY % 100 != 0) || YYYY % 400 == 0) { // 閏年 retValue = 29; } else { retValue = 28; } 3月なら・・・・って12ヶ月分メソッドとかにして使ってる。 | ||||
|
投稿日時: 2003-09-25 15:27
げ。リファレンスざっと見たのに見落とした… | ||||
|
投稿日時: 2003-09-25 15:44
皆さんありがとうございます。
無事、月の最終日を取得することができました。 cal.setTime(date); cal.getActualMaximum(Calendar.DAY_OF_MONTH); というふうに。 これで取り敢えずは大丈夫のようです(^・^) また何かありましたらよろしくお願いします。 本当にありがとうございました☆ あ!!こんなことしてよいのか・・・・ もう一つ質問があるのですが、 String型からDate型に型変換ってできるのでしょうか? [ メッセージ編集済み 編集者: Qちゃん 編集日時 2003-09-25 15:54 ] | ||||
|
投稿日時: 2003-09-25 16:02
こんにちは
ニシトミです
直で型変換はできません。 Stringを引数にDateを返すメソッド作ってみては public static Date stringToDate(String year,String month,String date){ int y = Integer.pareseInt(year); int m = Integer.pareseInt(month); int d = Integer.pareseInt(date); Calendar cal = new GregorianCalendar(y, m, d); return new Date(cal.getTime().getTime()); } インデントができませんでした。 |