java获取一年所有日期,假设是当前年精确到昨天
时间: 2023-07-18 12:37:27 浏览: 159
可以使用Java中的Calendar类来获取一年所有日期,代码示例如下:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
// 获取当前日期
Calendar calendar = Calendar.getInstance();
// 获取当前年份
int year = calendar.get(Calendar.YEAR);
// 创建SimpleDateFormat对象,设置日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 循环遍历一年的日期
for (int i = 1; i <= 365; i++) {
// 设置Calendar对象的日期
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.DAY_OF_YEAR, i);
// 判断日期是否小于当前日期
if (calendar.getTime().before(new Date())) {
// 格式化日期并输出
String dateStr = sdf.format(calendar.getTime());
System.out.println(dateStr);
}
}
}
}
```
上述代码中,首先获取当前日期和当前年份,然后创建SimpleDateFormat对象,用于格式化日期。接着循环遍历一年的日期,设置Calendar对象的日期,并判断日期是否小于当前日期。如果小于当前日期,则格式化日期并输出。由于我们需要获取一年所有日期,所以循环365次。
阅读全文