JAVA 星座/生肖/年龄 计算器
2023-04-18 14:39:47 时间
去年看五行,今年看星座,星座计算代码,存起来,会用到的:
/**
* 星座/生肖/年龄 计算器
* 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;
}
}
相关文章
- 挨踢部落故事汇(13):扬长避短入行Oracle开发
- 高并发挑战带来的思考 看阿里如何带业务方玩转交易平台
- Oracle修补Java中存在十年的bug
- 体验纯Java数据库——Derby
- 分析Sun没落原因:高层重硬件轻软件
- 如何建立JSP操作用以提高数据库访问效率
- Java访问ACCESS数据库的方法
- java数据库设计中的14个技巧
- Java技巧:Java连接数据库技巧全攻略
- Oracle收购Sun周年纪实:毁灭还是挽救?
- 盘点2010年Oracle大事记 MySQL 5.5发布居首
- 常用的Java开发工具比较
- HarmonyOS编程跨设备跳转 | Java注释版
- 从理论到实践,基于Java的开源大数据工具
- Google开源C/C++版MapReduce框架
- 运维中常见关键指标参数
- 推荐一款Kubernetes应用性能分析工具Kubectl Flame
- 如何让你的作业在Hadoop集群中真正实现分布式运行?
- Eclipse 基金会创立 Adoptium 项目,用于为企业提供 JRE
- 鸿蒙开发之JS与Java的混合使用与交互