2014-04-04 14 views

回答

1

你可以做我以下自定義方法,

private String getSubStractYear (String date) 
{ 
    try 
    { 
     SimpleDateFormat sdf = new SimpleDateFormat ("yyyyMMdd"); 
     Date myDate = sdf.parse(date); 
     Calendar calendar = Calendar.getInstance(); 
     calendar.setTime(myDate); 
     calendar.add(Calendar.YEAR , -1); 

     return (sdf.format(calendar.getTime())); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
     return ""; 
    } 
} 

輸入:20140320
輸出:20130320

+0

@Dimitri,你試試我的答案嗎? – Kedarnath

0

在Java 8,你可以使用新的日期/時間類:

您的功能:

private String substractYears(final String dateFrom, final int yearsToSubstract) { 
    final DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd"); 
    final LocalDate   date = LocalDate.parse(dateFrom, dtf);  

    return dtf.format(date.minusYears(yearsToSubstract)); 
} 

使用例:

System.out.printf("%s\n", substractYears("20140302", 1)); 


這將打印:20130302