Java中的整数转换日期

Vin*_*lla 6 java date

我有一个int变量跟随.如何将其转换为Date对象,反之亦然.

int inputDate=20121220;
Run Code Online (Sandbox Code Playgroud)

Joã*_*lva 11

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

int inputDate = 20121220;
DateFormat df = new SimpleDateFormat("yyyyMMdd");
Date date = df.parse(String.valueOf(inputDate));
Run Code Online (Sandbox Code Playgroud)

反之亦然,但不是使用parse,使用format,而是从结果String转换为Integer:

String s = date.format(date);
int output = Integer.valueOf(s);
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用substring并手动解析String你的Integer 表示,尽管我强烈建议你不要这样做:

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();
Run Code Online (Sandbox Code Playgroud)