java 根據當前的日期,獲取最近N天的日期
阿新 • • 發佈:2019-02-18
實現功能的核心方法
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);//當date的值是當前時間,則可以不用寫這段程式碼。
calendar.add(Calendar.DATE, num);
Date d = calendar.getTime();//把日曆轉換為Date
return d;
}
}