Java代码中使用Calendar 获取前一天、上个月的第一天、上个月的最后一天
Date dNow = new Date(); //当前时间
Date dBefore = new Date();
Calendar calendar = Calendar.getInstance(); //得到日历
calendar.setTime(dNow);//把当前时间赋给日历
calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天
dBefore = calendar.getTime(); //得到前一天的时间
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置时间格式
String defaultStartDate = sdf.format(dBefore); //格式化前一天
System.out.println("前一天的时间是:" + defaultStartDate);
String defaultEndDate = sdf.format(dNow); //格式化当前时间
//获取前一个月第一天
Calendar calendar1 = Calendar.getInstance();
calendar1.add(Calendar.MONTH, -1);
calendar1.set(Calendar.DAY_OF_MONTH,1);
String firstDay = sdf.format(calendar1.getTime());
System.out.println ("获取前一个月第一天:"+firstDay);
//获取前一个月最后一天
Calendar calendar2 = Calendar.getInstance();
calendar2.set(Calendar.DAY_OF_MONTH, 0);
String lastDay = sdf.format(calendar2.getTime());
System.out.println ("获取前一个月最后一天:"+lastDay);
打印结果
前一天的时间是:2021-09-01 14:13:11
获取前一个月第一天:2021-08-01 14:13:11
获取前一个月最后一天:2021-08-31 14:13:11