SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar start = Calendar.getInstance();
Calendar end = Calendar.getInstance();
Date now1 = new Date();
String now = sdf.format(now1); //format 转换为String类型的
String sd=sdf.format(time); //time为date类型的时间
Date date = null;
Integer year;
now1 = sdf.parse(now);
date = sdf.parse(sd);
start.setTime(date);
end.setTime(now1);
if (end.get(Calendar.YEAR) > start.get(Calendar.YEAR)) {
if (end.get(Calendar.MONTH) + 1 == start.get(Calendar.MONTH) + 1) {
if (end.get(Calendar.DATE) >= start.get(Calendar.DATE)) {
year = end.get(Calendar.YEAR) - start.get(Calendar.YEAR);
} else {
year = (end.get(Calendar.YEAR) - start.get(Calendar.YEAR)) - 1;
}
} else if (end.get(Calendar.MONTH) + 1 > start.get(Calendar.MONTH) + 1) {
year = end.get(Calendar.YEAR) - start.get(Calendar.YEAR);
}
else {
year = (end.get(Calendar.YEAR) - start.get(Calendar.YEAR)) - 1;
}
} else {
year=0;
}
在mysql中获取字段与当前时间的时间(年)差
SELECT TIMESTAMPDIFF(YEAR, create_time, NOW()) AS years FROM tablename
年份差用year 月份用month