这第8条是什么啊
给你写了个方法
public void test(String date) { // 这个date可以是数据库中的出生年月
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date nowdate = new Date();
Date d2 = df.parse(date);
long diff = nowdate.getTime() - d2.getTime();// 这样得到的差值是微秒级别
long days = diff / (1000 * 60 * 60 * 24);
long hours = (diff - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
long minutes = (diff - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60);
System.out.println("" + days + "天" + hours + "小时" + minutes + "分");
} catch (Exception e) {
}
}
就是当前日期减去生日日期。就是你要的天数
数据库中不要存一个用户的年龄,你今年十八岁 明年肯定不是十八岁,所以要存出生年月,再计算到今天的年龄。
这个应该就是获取今天日期(data1),以及生日的日期(data2),然后data1-data2就可以了,计算其中的天数。但是个人看法如果年龄显示3650天很奇怪。
可不可以显示成年龄:3650(10 岁)
今天日期减去出生日期,例如:一个人是1995年5月1日出生,到2018年6月2日,(2018-1995)×365+31(5月31天)+2(6月两天)=8428(天)
数据库存出生日期,年龄天数,就是当前日期在本年所在的天数,加上年份差的天数,加上生日日期该年的总天数减去生日日期在该年的天数,写几个方法,一个判断闰年的方法(网上一大堆,闰年366天,非闰年365天),一个计算当年第几天的方法(这个就是累加前面的数个月的天数,加上几日)。
你这是理论方法,long diff = nowdate.getTime() - d2.getTime();// 这样得到的差值是微秒级别
这句代码会溢出的,骚年
数据库中肯定不能写年龄呀,不然你每年还要改一次?数据库存的是出生日期,我感觉你的需求就是通过数据库中的出生日期作为一个数据,然后通过你在程序中通过当前日期减去数据库汇总的出生日期来获取你的年龄,这里只需要在程序中对Date类型数据进行操作进行了,返回的是你的年龄进而显示到你的页面,页面哪有显示几千天的呢,不知道我说的对不,希望采纳哦