原创文章,转载请注明 http://blog.csdn.net/leejizhou/article/details/50247603
最近遇到这样一个需求,根据某个日期得到一周前或一个月前或一年前的日期。
具体的实现思路:
首先一个日期例如 2015-12-1 这样一个日期格式是肯定不能直接进行加减的,那么应该用什么方法进行加减呢?先了解一个名词:时间戳(timestamp), 通常是一个字符序列,唯一地标识某一刻的时间。
我们可以把日期字符串转为时间戳long类型就可以进行加减了,运算后可以再转回日期格式。
代码
//Day:日期字符串例如 2015-3-10 Num:需要减少的天数例如 7
public static String getDateStr(String day,int Num) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date nowDate = null;
try {
nowDate = df.parse(day);
} catch (ParseException e) {
e.printStackTrace();
}
//如果需要向后计算日期 -改为+
Date newDate2 = new Date(nowDate.getTime() - (long)Num * 24 * 60 * 60 * 1000);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateOk = simpleDateFormat.format(newDate2);
return dateOk;
}
Ok这样就实现了,有疑问的地方的可以在下方留言,感谢。