自己mark一下
工作场景 echarts图表需要,根据传入的日期时间(easyui datebox取值出来是string类型格式为:"2018-06-30"),推算往前几个月或者往后几个月是几月,
/** * 传入日期 往前或往后 顺延月数 * * params: String date:传入日期(yyyy-MM-dd);Integer num:顺延月数(月份减1为-1,加1为1) * result: String(yyyy-MM-dd) */ public static String dateIntervalMonth(String date,Integer num){ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); ParsePosition pos = new ParsePosition(0);//表示索引从第几个开始解析字符串 Date strtodate = formatter.parse(date, pos); Calendar calendar = Calendar.getInstance();//日历对象 calendar.setTime(strtodate);//设置当前日期 calendar.add(Calendar.MONTH, num);//月份减1为-1,加1为1 Date d = calendar.getTime(); return formatter.format(d); }
例子:
dateIntervalMonth("2018-06-30",-5).replaceAll("-","").substring(0,6);//结果为 201801