如何得到两个日期之间的年数? 如何能得到两个日期之间相差的年数呢,不足一年的按一年算,超出就按2年算,如此这般在java里该怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Calendar自己看这个类的方法 改了改计算天数的方法,将就用吧 /** * 计算两个日期相差的年数 * 不足一年的按一年算,超出就按两年算 * 注意两个日期格式必须相同 * @param startDate 字符串开始时间 * @param endDate 字符串结束时间 * @param format 时间格式 * @return int 相差年数 * @throws ParseException */ public int countYears(String startDate, String endDate, String format) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat(format) ; Date sDate = sf.parse(startDate) ; Date eDate = sf.parse(endDate) ; Calendar c = Calendar.getInstance() ; double years = (double)(Math.abs(eDate.getTime()-sDate.getTime())/(24*3600*1000))/365; System.out.println(years); if((years > (int)years)) return ((int) years) + 1 ; else return (int) years ; } JAVA 面试题 有兴趣的答一答 Myeclipse里建的web project,jsp里找不到sql包 text型数据怎么在页面显示? 【JAVA】各位大虾!快救命~~~【解决马上送分】 请问用JAVA做网站怎么把动态转为静态HTML呢? 关于TOMCAT配置,小弟在线哭求!!! 关于ie cookies的问题 关于在网页重定向到一个servlet页面的问题? 大讨论:参数传递问题(javascript,jsp,html) jsp的org.apache.jasper.JasperException jsp插入mysql数据汉字问题 关于淘宝网图片浏览器
自己看这个类的方法
* 计算两个日期相差的年数
* 不足一年的按一年算,超出就按两年算
* 注意两个日期格式必须相同
* @param startDate 字符串开始时间
* @param endDate 字符串结束时间
* @param format 时间格式
* @return int 相差年数
* @throws ParseException
*/
public int countYears(String startDate, String endDate, String format)
throws ParseException
{
SimpleDateFormat sf = new SimpleDateFormat(format) ;
Date sDate = sf.parse(startDate) ;
Date eDate = sf.parse(endDate) ;
Calendar c = Calendar.getInstance() ; double years = (double)(Math.abs(eDate.getTime()-sDate.getTime())/(24*3600*1000))/365;
System.out.println(years);
if((years > (int)years))
return ((int) years) + 1 ;
else
return (int) years ;
}