Java获取当前月份的第一天和最后一天

在Java开发中,有时候我们需要获取当前月份的第一天和最后一天,以便进行一些统计或计算。本文将介绍如何使用Java代码获取当前月份的第一天和最后一天,并给出相应的代码示例。

方法一:使用Calendar类

Java中的Calendar类提供了一系列方法来操作日期和时间。我们可以利用Calendar类来获取当前月份的第一天和最后一天。

首先,我们需要创建一个Calendar实例,并将其设置为当前日期。然后,我们可以使用getActualMinimum()方法获取当前月份的第一天,使用getActualMaximum()方法获取当前月份的最后一天。

下面是一个完整的示例代码:

import java.util.Calendar;

public class DateUtils {
    public static void main(String[] args) {
        // 创建Calendar实例
        Calendar calendar = Calendar.getInstance();

        // 设置为当前日期
        calendar.setTime(new Date());

        // 获取当前月份的第一天
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
        Date firstDayOfMonth = calendar.getTime();
        System.out.println("第一天:" + firstDayOfMonth);

        // 获取当前月份的最后一天
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        Date lastDayOfMonth = calendar.getTime();
        System.out.println("最后一天:" + lastDayOfMonth);
    }
}

运行上述代码,将输出当前月份的第一天和最后一天的日期。

方法二:使用LocalDate类

Java 8引入了新的日期和时间API,其中包含了LocalDate类,它提供了更加方便和易于使用的日期和时间操作方法。

我们可以使用LocalDate.now()方法获取当前日期,并使用withDayOfMonth()方法将日期设置为当前月份的第一天和最后一天。

下面是使用LocalDate类获取当前月份的第一天和最后一天的示例代码:

import java.time.LocalDate;

public class DateUtils {
    public static void main(String[] args) {
        // 获取当前日期
        LocalDate currentDate = LocalDate.now();

        // 获取当前月份的第一天
        LocalDate firstDayOfMonth = currentDate.withDayOfMonth(1);
        System.out.println("第一天:" + firstDayOfMonth);

        // 获取当前月份的最后一天
        LocalDate lastDayOfMonth = currentDate.withDayOfMonth(currentDate.lengthOfMonth());
        System.out.println("最后一天:" + lastDayOfMonth);
    }
}

运行上述代码,同样可以输出当前月份的第一天和最后一天的日期。

总结

本文介绍了两种常用的方法来获取Java中当前月份的第一天和最后一天。方法一使用了Calendar类,方法二使用了LocalDate类。无论使用哪种方法,都可以轻松地获取到当前月份的第一天和最后一天。

代码示例:

import java.util.Calendar;

public class DateUtils {
    public static void main(String[] args) {
        // 创建Calendar实例
        Calendar calendar = Calendar.getInstance();

        // 设置为当前日期
        calendar.setTime(new Date());

        // 获取当前月份的第一天
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
        Date firstDayOfMonth = calendar.getTime();
        System.out.println("第一天:" + firstDayOfMonth);

        // 获取当前月份的最后一天
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        Date lastDayOfMonth = calendar.getTime();
        System.out.println("最后一天:" + lastDayOfMonth);
    }
}
import java.time.LocalDate;

public class DateUtils {
    public static void main(String[] args) {
        // 获取当前日期
        LocalDate currentDate = LocalDate.now();

        // 获取当前月份的第一天
        LocalDate firstDayOfMonth = currentDate.withDayOfMonth(1);
        System.out.println("第一天:" + firstDayOfMonth);

        // 获取当前月份的最后一天
        LocalDate lastDayOfMonth = currentDate.withDayOfMonth(currentDate.lengthOfMonth());
        System.out.println("最后一天:" + lastDayOfMonth);
    }
}

参考资料

  • [Java Calendar类](
  • [Java LocalDate类](