在开发过程中,需要获取某个时间点一个月或若干个月前的时间,便单独封装了方法,在博客中记录下来,以便大家使用。
两个方法的传参 Data 是当前时间,day是你需要推后或者提前的天数,第二个是String转换Data类型的,如果后台返回的是String类型的话,可以转换Data类型.
/** * 得到几天前的时间 * @param d * @param day * @return */ public static Date getDateBefore(Date d,int day){ Calendar now =Calendar.getInstance(); now.setTime(d); now.set(Calendar.DATE,now.get(Calendar.DATE)-day); return now.getTime(); } /** * 得到几天后的时间 * @param d * @param day * @return */ public static Date getDateAfter(Date d,int day){ Calendar now =Calendar.getInstance(); now.setTime(d); now.set(Calendar.DATE,now.get(Calendar.DATE)+day); return now.getTime(); }
/** * String 转 Date; * @param str * @return */ public static Date StringToDate(String str){ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//小写的mm表示的是分钟 Date date= null; try { date = sdf.parse(str); } catch (ParseException e) { e.printStackTrace(); } return date; }
最后顺便附上Data转String的方法
/** * String 转 Date; * @param str * @return */ public static Date StringToDate(String str){ //小写mm表示的是分钟 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Date date= null; try { date = sdf.parse(str); } catch (ParseException e) { e.printStackTrace(); } return date; }
大家可根据实际需要进行修改代码。