思路:利用java的Date类用当前时间的毫秒值减去生日的毫秒值,再用这个差值换算成天
String birthdayString=“1999-07-23”;//定义生日的字符串
SimpleDateFormat sim=new SimpleDateFormat(“yyyy-MM-dd”);
// 定义转换成Date类的格式
Date birthdayDate=sim.parse(birthdayString);
//通过sim这个格式将生日字符串转换为日期类
上面我们得到了生日的日期类,因为日期不能直接相加减,所以我们把生日的日期类转换成毫秒值
long birthdaySecond=birthdayDate.getTime();
同理,我们在得到当前时间的日期类并转换成毫秒值
long nowSecond=new Date().getTime();//直接new一个date类默认就是系统当前时间
最后我们得到当前时间与生日时间差值的毫秒值,再换算成天输出
long second=nowSecond-birthdaySecond;
System.out.println(second/1000/60/60/24+“天”);
结果:
再用手机上的日历功能看一下是否正确
bingo!正确。