日期" DAY"自动递增1

时间:2014-08-15 07:51:48

标签: java

每次获取日期值时,如何使我的日期“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

4 个答案:

答案 0 :(得分:1)

使用Calendar非常简单。您可以使用add()

SimpleDateFormat sdf  = new SimpleDateFormat("yyyyMMdd");
Calendar calendar=Calendar.getInstance();
calendar.setTime(sdf.parse("20141031"));
calendar.add(Calendar.DATE,1); // add one day to current date
System.out.println(sdf.format(calendar.getTime()));

Out put:

20141101

答案 1 :(得分:1)

以下代码可以帮助您

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

请注意,我已从您的代码中选择timestampFormattempEXPDATE

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

Java 8:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

带有threetenbp的Java 7:

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