因为业务中经常需要获取上个月上年等等时间的某个值,所以获取到的年月日都要进行一些更改,这里我写了个公共方法方便自己去获取变化后的年月日:
/** * * @param da 日期字符串 * @param pattern 日期格式 * @param change 年份变化 * @param field 变化字段(1:年;2:月;3:日) * @return */ public static String yearChange(String da,String pattern,int change,int field){ Calendar ca = Calendar.getInstance(); Date date = new Date(); try { date = new SimpleDateFormat(pattern).parse(da); } catch (ParseException e) { //LOGGER.error("时间转换错误, string = {}", s, e); } ca.setTime(date); if (field==1){ ca.add(Calendar.YEAR, change); } if (field==2){ ca.add(Calendar.MONTH, change); } if (field==3){ ca.add(Calendar.DATE, change); } SimpleDateFormat format = new SimpleDateFormat(pattern); date=ca.getTime(); String result=format.format(date); return result; }
日期就是对应的日期字符串,年份变化比如加一就是+1,减x就是-x,最后会返一个字符串类型的日期结果
标签:ca,field,日期,增减,date,年月日,Calendar,change From: https://www.cnblogs.com/ssbxfsrm/p/17037674.html