java获取一个月的第一天和最后一天日期
时间: 2023-09-09 09:08:19 浏览: 88
获取一个月的第一天和最后一天日期可以通过 Java 中的 `Calendar` 类和 `SimpleDateFormat` 类来实现。下面是一个示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class MonthFirstLastDay {
public static void main(String[] args) {
// 获取当前月份的第一天和最后一天
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int firstDay = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 构造第一天的日期
calendar.set(year, month - 1, firstDay);
Date firstDate = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 输出结果
System.out.println("第一天:" + sdf.format(firstDate));
// 构造最后一天的日期
calendar.set(year, month - 1, lastDay);
Date lastDate = calendar.getTime();
// 输出结果
System.out.println("最后一天:" + sdf.format(lastDate));
}
}
```
如果要获取指定月份的第一天和最后一天日期,可以按照以下方式修改代码:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class MonthFirstLastDay {
public static void main(String[] args) {
// 获取指定月份的第一天和最后一天
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2021);
calendar.set(Calendar.MONTH, Calendar.AUGUST);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int firstDay = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
int lastDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
// 构造第一天的日期
calendar.set(year, month - 1, firstDay);
Date firstDate = calendar.getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 输出结果
System.out.println("第一天:" + sdf.format(firstDate));
// 构造最后一天的日期
calendar.set(year, month - 1, lastDay);
Date lastDate = calendar.getTime();
// 输出结果
System.out.println("最后一天:" + sdf.format(lastDate));
}
}
```
这样就可以获取 2021 年 8 月份的第一天和最后一天日期了。
阅读全文