zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java 根据生日日期计算距离生日还有多少天(工具类)

JAVA日期计算工具 根据 多少 距离 还有
2023-09-11 14:20:19 时间

已知生日日期,用Java实现计算距离生日还有多少天

// 计算距离生日还有多少天
public class Tool {
    /**
    *  计算距离生日还有多少天 
    * @param addtime:生日日期
    */
	public static int getBirthDay(String addtime) {
		int days = 0;
		try {
			SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
			String clidate = addtime;
			Calendar cToday = Calendar.getInstance(); // 存今天
			Calendar cBirth = Calendar.getInstance(); // 存生日
			cBirth.setTime(myFormatter.parse(clidate)); // 设置生日
			cBirth.set(Calendar.YEAR, cToday.get(Calendar.YEAR)); // 修改为本年
			if (cBirth.get(Calendar.DAY_OF_YEAR) < cToday.get(Calendar.DAY_OF_YEAR)) {
				// 生日已经过了,要算明年的了
				days = cToday.getActualMaximum(Calendar.DAY_OF_YEAR) - cToday.get(Calendar.DAY_OF_YEAR);
				days += cBirth.get(Calendar.DAY_OF_YEAR);
			} else {
				// 生日还没过
				days = cBirth.get(Calendar.DAY_OF_YEAR) - cToday.get(Calendar.DAY_OF_YEAR);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return days;
	}
}