「Java/日付型はCalendarを使って」の編集履歴(バックアップ)一覧はこちら
「Java/日付型はCalendarを使って」(2007/03/05 (月) 17:13:30) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
日付を処理したい時はCalendar型ですよオクサマ。
Calenderじゃなくてよ。
#contents
*宣言しよう
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月になっちゃった。
**月は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の時
-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で指定すればいいわけよ。
日付を処理したい時はCalendar型ですよオクサマ。
Calenderじゃなくてよ。
#contents
*宣言しよう
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月になっちゃった。
**月は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の時
-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で指定すればいいわけよ。
表示オプション
横に並べて表示:
変化行の前後のみ表示: