我使用的日期格式为:yyyy-mm-dd。
如何将此日期增加一天?
我使用的日期格式为:yyyy-mm-dd。
如何将此日期增加一天?
当前回答
使用DateFormat API将字符串转换为日期对象,然后使用Calendar API添加一天。如果您需要特定的代码示例,请告诉我,我可以更新我的答案。
其他回答
更新(2021年5月):这是一个非常过时的老Java的答案。对于Java 8及以上版本,请参见https://stackoverflow.com/a/20906602/314283
与c#相比,Java确实远远落后于八球。这个实用程序方法展示了在Java SE 6中使用Calendar的方法。添加方法(可能是唯一简单的方法)。
public class DateUtil
{
public static Date addDays(Date date, int days)
{
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days); //minus number would decrement the days
return cal.getTime();
}
}
根据所问的问题,加一天,如下所示:
String sourceDate = "2012-02-29";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date myDate = format.parse(sourceDate);
myDate = DateUtil.addDays(myDate, 1);
Date newDate = new Date();
newDate.setDate(newDate.getDate()+1);
System.out.println(newDate);
你可以使用"org.apache.commons.lang3.time"中的这个包:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date myNewDate = DateUtils.addDays(myDate, 4);
Date yesterday = DateUtils.addDays(myDate, -1);
String formatedDate = sdf.format(myNewDate);
Date today = new Date();
SimpleDateFormat formattedDate = new SimpleDateFormat("yyyyMMdd");
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, 1); // number of days to add
String tomorrow = (String)(formattedDate.format(c.getTime()));
System.out.println("Tomorrows date is " + tomorrow);
这将给出明天的日期。C.add(…)参数可以从1更改为另一个数字,以获得适当的增量。
这很简单,试着用简单的话来解释。 今天的日期如下所示
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.getTime());// print today's date
calendar.add(Calendar.DATE, 1);
现在把这个日期提前一天。添加参数为(常量,值)的方法。这里的constant可以是DATE, hours, min, sec等,value是常量的值。比如一天,前面的常数是日历。DATE和它的值是1,因为我们想要提前一天的值。
System.out.println(calendar.getTime());//打印明天的修改日期
谢谢