次のエントリ: Preferencesで設定値の読書き [Android]
日付の取得・変換(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
次のエントリ: Preferencesで設定値の読書き [Android]
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