アプリ版:「スタンプのみでお礼する」機能のリリースについて

年月から、月間日数を取得する方法を教えて下さい。
例えば、「2003年7月」は、「31日間」あると思いますが、
その「31日間」を取得する方法を教えて下さい。
「2003年7月」を表すDate型オブジェクトを引数に
月間日数を取得したいです。

Javaで実現する方法をお願いします。

A 回答 (3件)

java.util.Calendar#getActualMaximum()


を使用して下さい。

http://www.okweb.ne.jp/kotaeru.php3?q=595271

上記の問題(解決されたのでしょうか?)もそうですが、
この手の日付の変更や情報の取得をするには、java.util.Calnedar を継承した java.util.GregorianCalendar クラスを用います。
API リファレンスをご覧になれば分かると思いますが、この手の問題を解決するメソッドが一通り揃っています。
    • good
    • 0

こんばんは



訂正です。


  return (year+year/4-year/100+year/400+(month*13+8)/5+1)%7 ;

  return (year+year/4-year/100+year/400+(month*13+8)/5+day)%7 ;
    • good
    • 0

こんばんは



曜日鑑別法というのをご存じでしょうか?

int weekDay(int year,int month,int day)
{
  if ( month < 3 ){
    year -- ;
    month += 12 ;
  }
  return (year+year/4-year/100+year/400+(month*13+8)/5+1)%7 ;
}

この関数に年、月、日を入れると、曜日に該当する数値を返します。
 0:日曜日
 1:月曜日
 2:火曜日
 3:水曜日
 4:木曜日
 5:金曜日
 6:土曜日

この関数を使って、今月の1日と次月の1日の差分を計算します。

i = weekDay(year,month,1);
if ( month < 12 ){
  month++ ;
} else {
  year++ ;
  month = 1 ;
}
j = weekDay(year,month,1);
if ( i <= j ){
  return 28+j-i ;
} else {
  return 35+j-i ;
}

当方Javaの環境が手元に無いので、デバッグしていません。
また、Data型からyearやmonthを取り出す方法は、お任せします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!