Java 日期“;“天”;自动递增1

Java 日期“;“天”;自动递增1,java,Java,如何使我的日期“DAY”仅在每次获得日期值时自动递增1。 示例:我当前的到期日期是20141031,增量后将更改为20141101 SimpleDateFormat timestampFormat = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat timestampFormat2 = new SimpleDateFormat("dd-MM-yyyy"); String EXPDATE = common.setNullT

如何使我的日期“DAY”仅在每次获得日期值时自动递增1。 示例:我当前的到期日期是20141031,增量后将更改为20141101

SimpleDateFormat timestampFormat  = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat timestampFormat2 = new SimpleDateFormat("dd-MM-yyyy");

String EXPDATE          = common.setNullToString((String) session.getAttribute("SES_EXPDATE"));  // 31- 10-2014

String tempEXPDATE = timestampFormat.format(timestampFormat2.parse(EXPDATE)); //20141031
int intExpdate = Integer.parseInt(tempEXPDATE.substring(6,8)); //30
这对我来说很容易。你可以用

输出:

20141101

下面的代码将帮助您

     Calendar cal = Calendar.getInstance();
     Date date=timestampFormat.parse(tempEXPDATE);
     cal.setTime(date);
     cal.add(Calendar.DATE, 1);
     String newDate=timestampFormat.format(date);

请注意,我从您的代码中选择了
timestampFormat
tempEXPDATE

如果您使用的是Java 8,则可以使用新的日期/时间API。 使用Java 8,您只需使用
plusDays()
方法:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDateTime dateTime = LocalDateTime.parse(yourDateString, formatter);
LocalDateTime plusOneDay = dateTime.plusDays(1);
Java 8:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
Java 7具有:



使用或。谢谢伙计们,问题解决了:)可能是真棒的复制品。。。它起作用了!!万分感谢你!!但是我更改了字符串newDate=timestampFormat.format(date);到java.util.dated1=cal.getTime();EXPDATE=timestampFormat.format(d1);
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import org.threeten.bp.LocalDate;
import org.threeten.bp.format.DateTimeFormatter;
DateTimeFormatter.ofPattern("yyyyMMdd").format(
    LocalDate.parse(
        "31-10-2014",
        DateTimeFormatter.ofPattern("dd-MM-yyyy")
    ).plusDays(1)
)
// 20141101