不多说,直接上代码
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String time ="2021-12-12";
Date timeA = null;
try {
timeA = format.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar c = Calendar.getInstance();
c.setTime(timeA);
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天
//设置为1号,当前日期既为本月第一天
c.set(Calendar.DAY_OF_MONTH, 1);
String first = format.format(c.getTime());
Calendar d = Calendar.getInstance();
d.setTime(timeA);
d.set(Calendar.DAY_OF_MONTH,d.getActualMaximum(Calendar.DAY_OF_MONTH));
String firstA = format.format(d.getTime());
//date转string
Calendar f = Calendar.getInstance();
f.setTime(timeA);
f.add(Calendar.MONTH, -1);
f.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天
//设置为1号,当前日期既为本月第一天
f.set(Calendar.DAY_OF_MONTH, 1);
String firste = format.format(f.getTime());
Date timeX = null;
try {
//string转date
timeX = format.parse(firste);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar g = Calendar.getInstance();
g.setTime(timeX);
g.set(Calendar.DAY_OF_MONTH,g.getActualMaximum(Calendar.DAY_OF_MONTH));
String firstf = format.format(g.getTime());
System.out.println(first);
System.out.println(firstA);
System.out.println(firste);
System.out.println(firstf);
可直接测试哈