Javaで2006年7月13日の30日前を計算する関数

を教えてください。

回答の条件
  • 1人2回まで
  • 登録:2006/07/14 15:50:40
  • 終了:2006/07/14 17:11:50

ベストアンサー

id:dev_zer0 No.1

dev_zer0回答回数332ベストアンサー獲得回数252006/07/14 16:15:19

ポイント40pt

下記にサンプルソースを書きます

import java.util.*;

class sample {

static public void main(String args[]) {

Calendar cal = new GregorianCalendar(2006, 7, 16);

System.out.println(cal.get(Calendar.YEAR) + "/" + cal.get(Calendar.MONTH

) + "/" + cal.get(Calendar.DATE));

cal.add(Calendar.DATE, -30); // ここで30日前の計算

System.out.println(cal.get(Calendar.YEAR) + "/" + cal.get(Calendar.MONTH

) + "/" + cal.get(Calendar.DATE));

}

}

実行すると

2006/7/16

2006/6/17

と表示されるはずです

id:Bain

回答有難うございます。

次の回答もほとんど同じような気がしますが、GregorianCalendarを使用している(推薦でしたっけ?)のでこちらを使わせてもらいます。

2006/07/14 17:09:25

その他の回答(1件)

id:dev_zer0 No.1

dev_zer0回答回数332ベストアンサー獲得回数252006/07/14 16:15:19ここでベストアンサー

ポイント40pt

下記にサンプルソースを書きます

import java.util.*;

class sample {

static public void main(String args[]) {

Calendar cal = new GregorianCalendar(2006, 7, 16);

System.out.println(cal.get(Calendar.YEAR) + "/" + cal.get(Calendar.MONTH

) + "/" + cal.get(Calendar.DATE));

cal.add(Calendar.DATE, -30); // ここで30日前の計算

System.out.println(cal.get(Calendar.YEAR) + "/" + cal.get(Calendar.MONTH

) + "/" + cal.get(Calendar.DATE));

}

}

実行すると

2006/7/16

2006/6/17

と表示されるはずです

id:Bain

回答有難うございます。

次の回答もほとんど同じような気がしますが、GregorianCalendarを使用している(推薦でしたっけ?)のでこちらを使わせてもらいます。

2006/07/14 17:09:25
id:yo-kun No.2

yo-kun回答回数220ベストアンサー獲得回数302006/07/14 16:45:44

ポイント35pt

java.util.Calendarクラスですね。


Calendar cal = Calendar.getInstance();

cal.set(2006, 7, 13);//2006年7月13日に設定

cal.add(Calendar.DATE, -30);//30日前に設定

int year = cal.get(Calendar.YEAR);

int month = cal.get(Calendar.MONTH) + 1;

int day = cal.get(Calendar.DATE);


getにおいて月は0~11の値を返すことに注意してください。

id:Bain

回答有難うございます。

2006/07/14 17:10:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません