背景
今天java处理日期,用Calendar对月份减一,总是年份减一。最后分析是小编经常用sql处理日期,原来是他们两个用混了。故做笔记记录一下。
微信入群一块学习技术:Day9884125
代码演示
代码已经过测试,没有问题。
private String test(){
//2022-05
String month = "2022-05";
/**
* 错误分析:
* 当初因为用惯了sql,格式习惯性的写成了下面的方式
* SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm");
* 所以导致输入是2022-05,输出是2021-05
*
* 当我们改成SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM")的时候
* 输入是2022-05,输出就会是正确结果2022-04
* 当然如果还没有改变,你可以重启一下debug,或者重启一下idea清理一下缓存就可以了
*/
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Date da = null;
try{
da = sdf.parse(month);
}catch(ParseException e){
e.printStackTrace();
}
Calendar date = Calendar.getInstance();
date.setTime(da);
date.add(Calendar.MONTH, -1);
String result = sdf.format(date.getTime());
return result;
}
作者:day4125
链接:https://juejin.cn/post/7085612289750990855/
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。