可能重复:
Anyone know a simple way using java calendar to subtract X days to a date?
我想从newDate和days
获取日期字符串所以昨天的日子如下:
sdate="2011-07-11"
days=-1
next day
sdate="2011-07-11"
days=+1
public static String getNewDate(String sdate, int days) {
return "2011-07-10" or "2011-07-12"
我该怎么做?
答案 0 :(得分:4)
使用DateFormat
和Calendar
,例如:
private static final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
public static String getNewDate(String sdate, int days) throws Exception {
Date inputDate = dateFormat.parse(sdate);
Calendar calendar = new GregorianCalendar();
calendar.setTime(inputDate);
calendar.add(Calendar.DAY_OF_MONTH, days);
return dateFormat.format(calendar.getTime());
}
public static void main(String[] args) throws Exception {
System.out.println(getNewDate("2011-07-11", -1));
System.out.println(getNewDate("2011-07-11", 1));
}
答案 1 :(得分:2)
以下是错误的吗?
calendar.add(Calendar.DATE, noOfDaysToAdd);
答案 2 :(得分:1)
答案 3 :(得分:0)
如果你真的想做日期操作,我说你最好不要使用java.util.Calendar(几乎每种情况都是GregorianCalendar)。
然后,如果你想将它转换为String,你可以随时使用toString。