可以使用Calendar类和SimpleDateFormat类来获取上个月月初和月末的时间,并将其格式化成字符串。

下面是一个示例代码:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        // 获取当前时间
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());

        // 获取上个月的月初时间
        calendar.add(Calendar.MONTH, -1);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        Date lastMonthStart = calendar.getTime();

        // 获取上个月的月末时间
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        Date lastMonthEnd = calendar.getTime();

        // 格式化成字符串
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String lastMonthStartStr = sdf.format(lastMonthStart);
        String lastMonthEndStr = sdf.format(lastMonthEnd);

        System.out.println("上个月月初:" + lastMonthStartStr);
        System.out.println("上个月月末:" + lastMonthEndStr);
    }
}

输出结果类似于:

上个月月初:2022-03-01 00:00:00
上个月月末:2022-03-31 23:59:59
``
java 获取当前系统时间的上个月月初时间和月末时间的字符串格式 yyyy-mm-dd hhmmss

原文地址: http://www.cveoy.top/t/topic/i0EA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录