(2011-06の一覧)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

2011-06-03 Fri (他の年の同じ日: 2005)

日付の取得・変換(java.util.Calendar / java.util.Date)
2011-06-03-1 / カテゴリ: [Java] / [permlink]

今更メモ。すぐわからなくなるので。

現在の年月日・時分秒を取得する。

Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int min = cal.get(Calendar.MINUTE);
int sec = cal.get(Calendar.SECOND);
int msec = cal.get(Calendar.MILLISECOND);

現在のUNIX time(msec)を取得する。

long utc = System.currentTimeMillis();

UNIX timeを元に年月日・時分秒を取得する

long time = System.currentTimeMillis();
// time をなんか更新
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(time);

年月日・時分秒を指定してCalendarの日時をセット

Calendar cal = Calendar.getInstance();
cal.set(year, month - 1, day, hour, min, 0);
set(Year, Month, Day) や set(Year, Month, Day, Hour, Min) もある。未指定の場合はセット前の値が引き継がれる。ゆえに、ミリ秒の指定は(多分)できないので(set()を使う限りは)getInstance()時の時刻のままになる。

CalendarインスタンスからUNIX timeを取得

Calendar cal = Calendar.getInstance();
// cal をなんか操作
long utc = cal.getTimeInMillis();

CalendarインスタンスからDateインスタンスを取得

Calendar cal = Calendar.getInstance();
// calを何か操作
Date date = cal.getTime();

Dateインスタンスの指定でCalendarの日時をセット

long utc = System.currentTimeMillis();
Date date = new Date(utc);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
System.out.println("eq? " + (cal.getTimeInMillis() == utc));
// 出力はtrue

DateインスタンスからUNIX timeを取得

// ↑のコードの続きで
System.out.println("eq? " + (date.getTime() == utc));
// 出力はtrue
前の日 / 次の日 / 最新 / 2011-06

2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12