public class TimeUtil {
public static int getAgeByBirthTime(String birthTimeString) {
String strs[] = birthTimeString.trim().split("-");
int selectYear = Integer.parseInt(strs[0]);
int selectMonth = Integer.parseInt(strs[1]);
int selectDay = Integer.parseInt(strs[2]);
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH) + 1;
int dayNow = cal.get(Calendar.DATE);
int yearMinus = yearNow - selectYear;
int monthMinus = monthNow - selectMonth;
int dayMinus = dayNow - selectDay;
int age = yearMinus;
if (yearMinus < 0) {
age = 0;
} else if (yearMinus == 0) {
if (monthMinus < 0) {
age = 0;
} else if (monthMinus == 0) {
if (dayMinus < 0) {
age = 0;
} else if (dayMinus >= 0) {
age = 1;
}
} else if (monthMinus > 0) {
age = 1;
}
} else if (yearMinus > 0) {
if (monthMinus < 0) {
} else if (monthMinus == 0) {
if (dayMinus < 0) {
} else if (dayMinus >= 0) {
age = age + 1;
}
} else if (monthMinus > 0) {
age = age + 1;
}
}
return age;
}
public static int getAgeByBirthTime(long birthTime) {
Date date = new Date(birthTime * 1000l);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String birthTimeString = format.format(date);
return getAgeByBirthTime(birthTimeString);
}
public static Date stringToDate(String stringTime) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return simpleDateFormat.parse(stringTime);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
public static Date getDateOfAWeekLate() {
Calendar curr = Calendar.getInstance();
curr.set(Calendar.DAY_OF_MONTH, curr.get(Calendar.DAY_OF_MONTH) + 7);
Date date = curr.getTime();
return date;
}
public static Date getDateOfAMonthLate() {
Calendar curr = Calendar.getInstance();
curr.set(Calendar.MONTH, curr.get(Calendar.MONTH) + 1);
Date date = curr.getTime();
return date;
}
public static Date getDateOfAyearLate() {
Calendar curr = Calendar.getInstance()
curr.set(Calendar.YEAR, curr.get(Calendar.YEAR) + 1);
Date date = curr.getTime();
return date;
}
public static Date todayZero() {
long current = System.currentTimeMillis();
long zero = current/(1000*3600*24)*(1000*3600*24) - TimeZone.getDefault().getRawOffset();
Date date = new Date(zero);
return date;
}
public static Date todayEnd() {
long current = System.currentTimeMillis();
long zero = current/(1000*3600*24)*(1000*3600*24) - TimeZone.getDefault().getRawOffset();
long end = zero + 24*60*60*1000-1;
Date date = new Date(end);
return date;
}