计算离当前日期之前或之后任意天的日期

 计算离当前日期之前或之后任意天的日期:

/** 
* 日期计算 
* @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; 
  } 
} 

 

你可能感兴趣的:(日期)