1. 程式人生 > >java計算兩個日期相差年數

java計算兩個日期相差年數

    該方法預設結束時間比開始時間大,也就是開始時間在結束時間之前~~~      

  //計算兩個日期相差年數
  public static int yearDateDiff(String startDate,String endDate){
     Calendar calBegin = Calendar.getInstance(); //獲取日曆例項
     Calendar calEnd = Calendar.getInstance();
     calBegin.setTime(stringTodate(startDate,"yyyy")); //字串按照指定格式轉化為日期
     calEnd.setTime(stringTodate(endDate,"yyyy"));
     return calEnd.get(Calendar.YEAR) - calBegin.get(Calendar.YEAR);
  }
 //字串按照指定格式轉化為日期
  public static Date stringTodate(String dateStr, String formatStr) {
     // 如果時間為空則預設當前時間
     Date date = null;
     SimpleDateFormat format = new SimpleDateFormat(formatStr);
     if (dateStr != null && !dateStr.equals("")) {  
	 String time = "";
	 try {
		Date dateTwo = formatter.parse(dateStr);
		time = format.format(dateTwo);
		date = format.parse(time);
	} catch (ParseException e) {
		e.printStackTrace();
        }

     } else {
	  String timeTwo = format.format(new Date());
	  try {
		date = format.parse(timeTwo);
	  } catch (ParseException e) {
		e.printStackTrace();
	  }
    }
    return date;
 }