我有以下的int变量。如何将其转换为Date对象,反之亦然。

int inputDate=20121220;

最佳答案

将值转换为String并使用 SimpleDateFormat 将其解析为Date对象:

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

反之相似,但是不要使用 parse ,而要使用 format ,然后将结果String转换为Integer:
String s = date.format(date);
int output = Integer.valueOf(s);

一种替代方法是使用substring并手动解析String eger的Int表示形式,尽管我强烈建议您反对:
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();

07-28 02:52
查看更多