javagetdate-x天

javagetdate-x天,java,Java,可能重复: 我想从newDate和days中获取日期字符串 所以昨天是这样的: 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" 我怎样才能做到这一点?下面有什么问题 calendar.add(Calendar.DATE

可能重复:

我想从newDate和days中获取日期字符串

所以昨天是这样的:

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"

我怎样才能做到这一点?

下面有什么问题

calendar.add(Calendar.DATE, noOfDaysToAdd);


如果您真的想进行日期操作,我建议您最好使用java.util.Calendar(几乎在所有情况下都是GregorianCalendar)


然后,如果要将其转换为字符串,则可以始终使用将其转换为字符串。

使用
DateFormat
Calendar
,如:

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));
}

这本书有很多副本。你看了侧栏中的相关问题了吗?在java.time中:
localdatedaybefore=LocalDate.parse(“2011-07-11”).minusDays(1)