7

次の int 変数があります。それを Date オブジェクトに変換したり、その逆に変換したりするにはどうすればよいですか。

int inputDate=20121220;
4

1 に答える 1

13

値を a に変換し、それをString使用してオブジェクトSimpleDateFormatに解析します。Date

int inputDate = 20121220;
DateFormat df = new SimpleDateFormat("yyyyMMdd");
Date date = df.parse(String.valueOf(inputDate));

逆も同様ですが、 を使用する代わりに を使用parseし、結果から にformat変換します。StringInteger

String s = date.format(date);
int output = Integer.valueOf(s);

別の方法として、 egerの表現を使用substringして手動で解析することもできますが、これには反対することを強くお勧めします。StringInt

Calendar cal = Calendar.getInstance();
String input = String.valueOf(inputDate);
cal.set(Calendar.YEAR, Integer.valueOf(input.substring(0, 4)));
cal.set(Calendar.MONTH, Integer.valueOf(input.substring(4, 6)) - 1);
cal.set(Calendar.DAY_OF_MONTH, Integer.valueOf(input.substring(6)));
Date date = cal.getTime();
于 2012-09-25T23:40:41.060 に答える