------2019.08.06补充
日期年与日的加减运算。
给定一个开始日期,对其进行加年,加月,加天运算
如下给起始日期和给定月份,计算结束日期
/** * 给起始日期和给定月份,计算结束日期工具 * 开始日期格式为:yyyy-MM-dd * */ public static String getEndDateBymonths(String startDateStr, int months){ //分隔日期为字符串数组,1为年,2为月,3为日 String dataStr[] = startDateStr.split("-"); //年份,开始日期的月份加上当前月份。除以12,即增加年数。 int year = (Integer.parseInt(dataStr[1]) + months)/12; //月份 int mon = (Integer.parseInt(dataStr[1]) + months)%12; //格式化月份。 String a = ""; if(mon<10){ if(mon<1){ a = "12"; }else{ a = "0"+mon; } }else { a = mon+""; } dataStr[0]=String.valueOf(Integer.parseInt(dataStr[0]) + year); dataStr[1]=a; String newdata =""; newdata = dataStr[0]+"-"+dataStr[1]+"-"+dataStr[2]; return newdata; }
自己编写计算方法需要很长代码。而如果借助java.util.Calendar类来进行日期计算,能够很方便计算出年月日的加减
SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd"); String newdata ="2018-01-01"; Date d; try { d = sj.parse(newdata); Calendar calendar = Calendar.getInstance(); calendar.setTime(d); calendar.add(Calendar.MONTH, 3); newdata = sj.format(calendar.getTime()); } catch (ParseException e) { e.printStackTrace(); } System.out.println(newdata);