/**
* 计算星座
*/public static String getConstellation(String birthday) {
String[] constellationArr = {"水瓶座", "双鱼座", "牡羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座",
"天蝎座", "射手座", "魔羯座"}
int[] constellationEdgeDay = {20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22}
SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd")
try {
Date birthDay = formatDate.parse(birthday)
int month = birthDay.getMonth()
int day = birthDay.getDay()
if (day < constellationEdgeDay[month]) {
month = month - 1
}
if (month >= 0) {
return constellationArr[month]
}
} catch (ParseException e) {
e.printStackTrace()
}
return constellationArr[11]
}
/**
* 计算年龄
*/
public static int getAgeByBirth(Date birthday) {
int age = 0
try {
Calendar now = Calendar.getInstance()
now.setTime(new Date())
Calendar birth = Calendar.getInstance()
birth.setTime(birthday)
if (birth.after(now)) {//如果传入的时间,在当前时间的后面,返回0岁
age = 0
} else {
age = now.get(Calendar.YEAR) - birth.get(Calendar.YEAR)
if (now.get(Calendar.DAY_OF_YEAR) > birth.get(Calendar.DAY_OF_YEAR)) {
age += 1
}
}
return age
} catch (Exception e) {//兼容性更强,异常后返回数据
return 0
}
}