每次获取日期值时,如何使我的日期“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
答案 0 :(得分:1)
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);
请注意,我已从您的代码中选择timestampFormat
和tempEXPDATE
。
答案 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