一、通过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新特性。不同的方法有各自的优缺点,可以根据实际需求选择使用。在实际开发中,可以根据具体需求和场景选择最适合的方法,方便地获取当前月份为中心的日期。