实现功能的核心方法
java.util.Calendar
add
public abstract void add(int field,
int amount)
根据日历的规则,为给定的日历字段添加或减去指定的时间量。例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点:
add(Calendar.DAY_OF_MONTH, -5)。
参数:
field - 日历字段。
amount - 为字段添加的日期或时间量。
package com.yu.bai.date;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 获取最近N天的时间,从昨天开始算起
* @author baiyu
*
*/
public class TestDate1 {
public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
public static void main(String[] args) {
Date firstDay = getBeforeOrAfterDate(new Date(),-7);
Date lastDay = getBeforeOrAfterDate(new Date(),-1);
System.out.println("firstDate:" + sdf.format(firstDay));
System.out.println("endDate:" + sdf.format(lastDay));
}
/**
* 根据当前时间,添加或减去指定的时间量。例如,要从当前日历时间减去 5 天,可以通过调用以下方法做到这一点:
* add(Calendar.DAY_OF_MONTH, -5)。
* @param date 指定时间
* @param num 为时间添加或减去的时间天数
* @return
*/
public static Date getBeforeOrAfterDate(Date date, int num) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, num);
Date d = calendar.getTime();
return d;
}
}