comscom@Wiki
日付型はCalendarを使って
最終更新:
dotcom
-
view
日付を処理したい時はCalendar型ですよオクサマ。
Calenderじゃなくてよ。
Calenderじゃなくてよ。
宣言しよう
calって名前の変数にしてみます。
private Calendar cal;
これが必要よ。
import java.util.Calendar;
今日の日付を取ってくるには?
cal = Calendar.getInstance();
これでおっけー。
2007/03/05に以下のを実行すると。。
System.out.println("年:" + cal.get(Calendar.YEAR));
System.out.println("月:" + cal.get(Calendar.MONTH));
System.out.println("日:" + cal.get(Calendar.DATE));
こんな結果に。
年:2007
月:2
日:5
おりょー。
2月になっちゃった。
2月になっちゃった。
月は0から始まる。
0から11まで。
任意の日付をセット
cal.set(2007,3,5);
こうすると
System.out.println("年:" + cal.get(Calendar.YEAR));
System.out.println("月:" + cal.get(Calendar.MONTH));
System.out.println("日:" + cal.get(Calendar.DATE));
こんな結果に。
年:2007
月:3
日:5
お願いしたとおりに設定されるですよ。
曜日がほしい時(数字)
これが必要よ。
import java.util.Date;
3月の曜日ー!
cal.set(2007,3,5);
cal.get(Calendar.DAY_OF_WEEK));
ってやると
System.out.println(
"2007/03/05の曜日:" + cal.get(Calendar.DAY_OF_WEEK));
数字。。。
日本語にしちゃいましょーそうしましょー
曜日がほしい時(日本語)
月火水・・・って変換してくれるの。
これが必要よ。
import java.text.SimpleDateFormat;
import java.util.Locale;
2007/03/05の曜日を求めてみるわ。
cal.set(2007,3,5);
SimpleDateFormat weeks = new SimpleDateFormat ("EEE",Locale.JAPANESE);
Date currentTime = cal.getTime();
weeks.format(currentTime);
こんな風にすると。。
System.out.println("2007/03/05の曜日:" + weeks.format(currentTime));
結果は
2007/03/05の曜日:木
日付を計算しよう
addを使うですよ。
cal.getTime()が 2007/03/05の時
cal.getTime()が 2007/03/05の時
- 1ヶ月前
cal.add(Calendar.MONTH,-1);
→2007/02/05
- 1ヶ月後
cal.add(Calendar.MONTH,1);
→2007/04/05
- 10日前
cal.add(Calendar.DATE,-10);
→2007/02/23
- 1日後
cal.add(Calendar.DATE,1);
→2007/03/06
年も同じ。Calendar.YEARで指定すればいいわけよ。