2011-07-11 7 views
-2

可能性の重複:
Anyone know a simple way using java calendar to subtract X days to a date?のJavaのgetDate日付-X日

私はNEWDATEから日付文字列を取得したい、との日から

dはそう昨日の日のルックスこのように:

sdate="2011-07-11" 
days=-1 

next day 
sdate="2011-07-11" 
days=+1 


public static String getNewDate(String sdate, int days) { 

return "2011-07-10" or "2011-07-12" 

どうすればいいですか?

+2

充実しています。あなたはサイドバーの関連する質問を見ましたか? – Joey

答えて

4

などの使用DateFormatCalendar、この1の重複の

private static final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 

public static String getNewDate(String sdate, int days) throws Exception { 
    Date inputDate = dateFormat.parse(sdate); 

    Calendar calendar = new GregorianCalendar(); 
    calendar.setTime(inputDate); 
    calendar.add(Calendar.DAY_OF_MONTH, days); 

    return dateFormat.format(calendar.getTime()); 
} 

public static void main(String[] args) throws Exception { 
    System.out.println(getNewDate("2011-07-11", -1)); 
    System.out.println(getNewDate("2011-07-11", 1)); 
} 
+0

ありがとう、thats good – lacas

2

何が間違っていますか?

calendar.add(Calendar.DATE, noOfDaysToAdd); 
0

あなたが本当に日付操作を行いたい場合は、私は(ほとんどの場合のためのカバーの下に本当にGregorianCalendarのである)あなたがjava.util.Calendarので作業したほうが良いと言います。

文字列に変換する場合は、常にtoStringを使用できます。