public static final String[] zodiacArray = { "猴", "鸡", "狗", "猪", "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊" }; public static final String[] constellationArray = { "水瓶座", "双鱼座", "牡羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "魔羯座" }; 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 zodiacArray[time.get(Calendar.YEAR) % 12]; } /** * 根据日期获取生肖 * * @return */ public static String date2Zodica(String time) { Calendar c = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date; try { date = sdf.parse(time); c.setTime(date); String zodica = date2Zodica(c); System.out.println("生肖:" + zodica); return zodica; } catch (ParseException e) { e.printStackTrace(); } return null; } /** * 根据日期获取星座 * * @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 constellationArray[month]; } // default to return 魔羯 return constellationArray[11]; } /** * 根据日期获取星座 * * @param time * @return */ public static String date2Constellation(String time) { Calendar c = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date; try { date = sdf.parse(time); c.setTime(date); String constellation = date2Constellation(c); System.out.println("星座:" + constellation); return constellation; } catch (ParseException e) { e.printStackTrace(); } return null; } public static void main(String[] args) { String test = date2Constellation(Calendar.getInstance()); System.out.println("星座:" + test); String test1 = date2Zodica(Calendar.getInstance()); System.out.println("生肖:" + test1); String dateStr = "1993-10-17"; String constellation = date2Constellation(dateStr); String zodica = date2Zodica(dateStr); }