去年看五行,今年看星座,星座计算代码,存起来,会用到的:
/**
* 星座/生肖/年龄 计算器
* Created by fengyunhe 2015/8/12.
*/
public class ConstellationUtils {
public static final String[] zodiacArr = {"猴", "鸡", "狗", "猪", "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊"};
public static final String[] constellationArr = {"水瓶座", "双鱼座", "牡羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座",
"天蝎座", "射手座", "魔羯座"};
public static final int[] constellationEdgeDay = {20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22};
/**
* 根据日期获取生肖
*
* @return
*/
public static String date2Zodica(Calendar time) {
return zodiacArr[time.get(Calendar.YEAR) % 12];
}
/**
* 根据日期获取星座
*
* @param time
* @return
*/
public static String date2Constellation(Calendar time) {
int month = time.get(Calendar.MONTH);
int day = time.get(Calendar.DAY_OF_MONTH);
if (day < constellationEdgeDay[month]) {
month = month - 1;
}
if (month >= 0) {
return constellationArr[month];
}
//default to return 魔羯
return constellationArr[11];
}
/**
* 计算年龄
*
* @param birthCal
* @return 如果生日大于今天的日期,则返回-1
*/
public static int calcAge(Calendar birthCal) {
Calendar flightCal = Calendar.getInstance();
int y = flightCal.get(Calendar.YEAR) - birthCal.get(Calendar.YEAR);
int m = flightCal.get(Calendar.MONTH) - birthCal.get(Calendar.MONTH);
int d = flightCal.get(Calendar.DATE) - birthCal.get(Calendar.DATE);
if (y < 0) {
return 0;
}
if (m < 0 || m == 0 && d < 0) { //月份不够一年
y--;
}
if (y < 0) {
return -1;
}
return y;
}
}