"YYYY/MM/DD"
,必须使用
"yyyy/MM/dd"
,试试看:
Date date = null;
try {
date = new SimpleDateFormat("yyyy/MM/dd").parse("2000/1/21");
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
它打印:
Fri Jan 21 00:00:00 EET 2000
Date date = null;
try {
date = new SimpleDateFormat("YYYY/MM/DD").parse("2000/1/21");
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
Mon Jan 03 00:00:00 EET 2000
编辑:如果一个用户已经足够大了,那么他的出生日期的毫秒数小于13岁之前的毫秒数。
将代码替换为:
public boolean isUserOldEnough(String birthDay) {
Date date = null;
try {
date = new SimpleDateFormat("yyyy/MM/dd").parse(birthDay);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
long birthTime = calendar.getTimeInMillis();
return birthTime <= getMinAge();
}
public long getMinAge() {
Calendar calendar = Calendar.getInstance();
int currentYear = calendar.get(Calendar.YEAR);
int currentMonth = calendar.get(Calendar.MONTH);
int currentDay = calendar.get(Calendar.DAY_OF_MONTH);
calendar.set(currentYear - 13, currentMonth, currentDay);
return calendar.getTimeInMillis();
}