• 周六. 7月 2nd, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

获取指定时间的上个月开始时间和结束时间

admin

11月 28, 2021

public static void main(String[] args) {

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  // 设置日期格式
        Date date1 = null;
        try {
            date1 = sdf.parse("2021-03-07 02:08:38");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        String strTime = sdf.format(date1);  // 格式转换
        System.out.println(strTime);
        System.out.println(sdf.format(DateUtil.getStartTimeOfLastMonth(date1)));//指定时间的上个月开始时间
        System.out.println(sdf.format(DateUtil.getLastMonthEndTime(date1)));//指定时间的上个月最后一天
}


1,指定时间的上个月开始时间

/**
     * 获得上个月的开始时间
     * @param date
     * @return
     */
    public static Date getStartTimeOfLastMonth(Date date){
        Date thisMonthStartTime = getStartTimeOfMonth(date);
        Calendar cal = Calendar.getInstance();
        cal.setTime(thisMonthStartTime);
        cal.add(Calendar.MONTH, -1);
        return cal.getTime();
    }

 2,指定时间的上个月最后一天

/**
     * 获得上个月的结束时间
     * @return
     */
    public static Date getLastMonthEndTime(Date date) {
        String timeZone = "GMT+8:00";
        Calendar calendar = Calendar.getInstance();// 获取当前日期
        calendar.setTimeZone(TimeZone.getTimeZone(timeZone));
        calendar.setTimeInMillis(date.getTime());
        calendar.add(Calendar.YEAR, 0);
        calendar.add(Calendar.MONTH, -1);
        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);
        calendar.set(Calendar.MILLISECOND, 999);
        return calendar.getTime();
    }
正确付出才有收获

发表评论

您的电子邮箱地址不会被公开。