如何将日期增加1

时间:2014-12-17 07:30:34

标签: java

我想将日期增加一。我在运行代码时有下面的代码我得到了不可解析的日期最后我想把日期作为字符串格式为MM-DD-YYYY。 但同样的程序正在使用YYYY-MM-DD格式,但我想要这种格式的mydate(MM-DD-YYYY)

String dt = schReq.getStartDate();  // Start date
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dt));
c.add(Calendar.DATE, days);  // number of days to add
dt = sdf.format(c.getTime()); 
schReq.setStartDate(dt);

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您必须使用两种不同的DateFormats:

一个用于解析字符串,另一个用于格式化。

String dt = schReq.getStartDate();  // Start date
SimpleDateFormat sdf_parser = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
Calendar c = Calendar.getInstance();
c.setTime(sdf_parser.parse(dt));
c.add(Calendar.DATE, days);  // number of days to add
dt = sdf.format(c.getTime()); 
schReq.setStartDate(dt);

答案 1 :(得分:1)

只要dtdays正确,代码就可以正常运行。这给了我12-18-2014:

String dt = "12-17-2014"; // Start date
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dt));
c.add(Calendar.DATE, 1); // number of days to add
dt = sdf.format(c.getTime());