Java日期前推一个月

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
计算离当前日期之前或之后任意天的日期
/**
* 日期计算
*
* @author zhangmingxue
*
*/
public class ComputeDateUtils {
/**
* 计算出离当前日期datas天的日期,若datas小于0表示当前日期之前datas天,若datas大于0表当前日期之后datas天
*
* @param 要计算的天数
* @return 得到日期
*/
public static Date getDate(int datas) {
GregorianCalendar calendar = new GregorianCalendar();
calendar.add(GregorianCalendar.DATE, datas);
String begin = new java.sql.Date(calendar.getTime().getTime()).toString();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date beginDate = null;
try {
beginDate = sdf.parse(begin);
} catch (ParseException e) {
e.printStackTrace();
}
return beginDate;
}
/**
* 计算出离beginDate日期datas天的日期,若datas小于0表示当前日期之前datas天,若datas大于0表当前日期之后datas天
*
* @param 要计算的天数
* @return 得到日期
*/
public static Date getDate(Date beginDate, int datas) {
Calendar beginCal=Calendar.getInstance();
beginCal.setTime(beginDate);
GregorianCalendar calendar = new GregorianCalendar(beginCal.get(Calendar.YEAR),beginCal.get(Calendar.MONTH),beginCal.get(Calendar.DATE));
calendar.add(GregorianCalendar.DATE, datas);
String begin = new java.sql.Date(calendar.getTime().getTime()).toString();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date endDate = null;
try {
endDate = sdf.parse(begin);
} catch (ParseException e) {
e.printStackTrace();
}
return endDate;
}
}
Jerky Lu wechat
欢迎加入微信公众号