Java获取指定日期前一月(年)或后一月(年)

/** 
     * 获取指定月的前一月(年)或后一月(年) 
     * @param dateStr 
     * @param addYear 
     * @param addMonth 
     * @param addDate 
     * @return 输入的时期格式为yyyy-MM,输出的日期格式为yyyy-MM 
     * @throws Exception 
     */  
    public static String getLastMonth(String dateStr,int addYear, int addMonth, int addDate) throws Exception {  
          try {  
          java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM");  
          java.util.Date sourceDate = sdf.parse(dateStr);  
          Calendar cal = Calendar.getInstance();  
          cal.setTime(sourceDate);  
          cal.add(Calendar.YEAR,addYear);  
          cal.add(Calendar.MONTH, addMonth);  
          cal.add(Calendar.DATE, addDate);  

		  java.text.SimpleDateFormat returnSdf = new java.text.SimpleDateFormat("yyyy-MM");  
		  String dateTmp = returnSdf.format(cal.getTime());  
		  java.util.Date returnDate = returnSdf.parse(dateTmp);  
		  return dateTmp;  
		  } catch (Exception e) {  
		  e.printStackTrace();  
		  throw new Exception(e.getMessage());  
		  }  
  }   


 /** 
     * 测试 
     * @param args 
     */  
    public static void main(String[] args) {  
          try{  
             System.out.println(getLastMonth("2011-06",0,-1,0));//2011-05  
             System.out.println(getLastMonth("2011-06",0,-6,0));//2010-12  
             System.out.println(getLastMonth("2011-06",-1,0,0));//2010-06  
          }catch (Exception e) {  
              
}  

  
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值