您的位置:

Java获取当前月份为中心的方法

一、通过Calendar类获取当前月份为中心的方法

Java中获取当前月份为中心的简单方法是通过Calendar类。首先需要获取当前日期(年月日),然后通过Calendar.getInstance方法获取当前日期对应的Calendar对象。获取当前月份是通过调用Calendar对象的get方法,传入Calendar.MONTH参数来实现。最后通过Calendar对象的set方法,将日期设置为当前月的1号,即可得到当前月份的起始日期。代码示例如下:

import java.util.Calendar;

public class GetMonth {

    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        calendar.set(year, month, 1);
        System.out.println(calendar.getTime());
    }

}

以上代码将输出当前月份的起始日期,例如2021年12月份的起始日期为2021-12-01。

二、通过SimpleDateFormat类获取当前月份为中心的方法

除了使用Calendar类,还可以使用SimpleDateFormat类来获取当前月份为中心的日期。与Calendar类不同的是,SimpleDateFormat类可以直接将日期格式化为字符串输出。可以通过"yyyy-MM-dd"格式化模板将日期格式化为字符串,然后再截取字符串中的年月部分即可得到当前月份。代码示例如下:

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

public class GetMonth {

    public static void main(String[] args) {
        Date date = new Date();
        String pattern = "yyyy-MM";
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        String result = sdf.format(date);
        System.out.println(result);
    }

}

以上代码将输出当前月份的格式化字符串,例如2021年12月份的格式化字符串为"2021-12"。

三、通过Java 8新特性获取当前月份为中心的方法

在Java 8中,新增了新的日期时间API,提供了更加友好和方便的日期时间操作方式。可以通过LocalDate类获取当前日期,并且可以调用withDayOfMonth方法将日期设置为当前月份的1号,然后在调用toString方法将日期输出即可得到当前月份的起始日期。代码示例如下:

import java.time.LocalDate;

public class GetMonth {

    public static void main(String[] args) {
        LocalDate date = LocalDate.now().withDayOfMonth(1);
        System.out.println(date.toString());
    }

}

以上代码将输出当前月份的起始日期,例如2021年12月份的起始日期为2021-12-01。

四、结语

本文介绍了三种通过Java获取当前月份为中心的方法,包括通过Calendar类、SimpleDateFormat类和Java 8新特性。不同的方法有各自的优缺点,可以根据实际需求选择使用。在实际开发中,可以根据具体需求和场景选择最适合的方法,方便地获取当前月份为中心的日期。