每次寫程式都忘記,假如用Calendar來計算日期的時候

月份要帶進去0~11而不是,1~12月

所以按照下方程式的邏輯帶進去theday.set的月要先減1,然後輸出時再加回去

 

public String changeDate(String SourceDate,int d){
String Yesterday = "";

Calendar theday = Calendar.getInstance() ;
SourceDate = SourceDate.trim();
theday.set( Integer.parseInt(SourceDate.substring(0,4)),Integer.parseInt(SourceDate.substring(4,6)) -1,Integer.parseInt(SourceDate.substring(6,8)));


theday.add(Calendar.DATE,d);

int sYear = theday.get(Calendar.YEAR);
int sMonth = theday.get(Calendar.MONTH) + 1;
int sDay = theday.get(Calendar.DATE );
 
 DecimalFormat datedf = new DecimalFormat("00");
 String datted = String.valueOf(sYear) +  datedf.format(sMonth) + datedf.format(sDay);
 return datted;
}

arrow
arrow
    全站熱搜

    ROACH 發表在 痞客邦 留言(0) 人氣()