java实现:使用new Date获取当前日期,然后再获取当前日期的上个月的第一天的年月日和当前日期的第一天的年月日,并格式化为yyyy-MM-dd
时间: 2024-10-13 12:13:07 浏览: 22
在Java中,你可以使用`java.util.Date`类和其相关的`Calendar`类来实现这个需求。首先获取当前日期,然后计算上个月第一天和当前月份第一天。以下是具体的步骤:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
// 获取当前日期
Date currentDate = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(currentDate);
// 计算上个月第一天
calendar.add(Calendar.MONTH, -1);
int previousMonthFirstDayYear = calendar.get(Calendar.YEAR);
int previousMonthFirstDayMonth = calendar.get(Calendar.MONTH) + 1; //注意:月份从0开始计数
String previousMonthFirstDayFormat = String.format("%04d-%02d-01", previousMonthFirstDayYear, previousMonthFirstDayMonth);
// 计算当前月份第一天
calendar.set(Calendar.DAY_OF_MONTH, 1);
int currentMonthFirstDayYear = calendar.get(Calendar.YEAR);
int currentMonthFirstDayMonth = calendar.get(Calendar.MONTH) + 1;
String currentMonthFirstDayFormat = String.format("%04d-%02d-01", currentMonthFirstDayYear, currentMonthFirstDayMonth);
// 格式化日期字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("Last month's first day: " + sdf.format(previousMonthFirstDayFormat));
System.out.println("This month's first day: " + sdf.format(currentMonthFirstDayFormat));
}
}
```
运行这段代码后,你会得到上个月第一天和当前月份第一天的格式化日期。
阅读全文