android获取今天之前的一个月的所有日期
时间: 2023-12-08 19:06:20 浏览: 125
获取当前月日期
以下是一种获取 Android 设备上今天之前的一个月的所有日期的方式:
```java
// 获取当前日期
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String currentDate = sdf.format(calendar.getTime());
// 计算一个月前的日期
calendar.add(Calendar.MONTH, -1);
String oneMonthAgoDate = sdf.format(calendar.getTime());
// 获取一个月前到今天之间的所有日期
List<String> dateList = new ArrayList<>();
try {
Date startDate = sdf.parse(oneMonthAgoDate);
Date endDate = sdf.parse(currentDate);
calendar.setTime(startDate);
while (calendar.getTime().compareTo(endDate) <= 0) {
dateList.add(sdf.format(calendar.getTime()));
calendar.add(Calendar.DATE, 1);
}
} catch (ParseException e) {
e.printStackTrace();
}
// 输出结果
for (String date : dateList) {
Log.d(TAG, date);
}
```
上述代码中,首先获取当前日期并格式化成字符串。然后,使用 `Calendar` 类计算一个月前的日期,并同样格式化成字符串。接着,将一个月前的日期和当前日期转换成 `Date` 对象,并使用 `Calendar` 类循环遍历这段时间内的每一天,并将每一天的日期格式化成字符串并加入到一个列表中。最后,输出列表中的所有日期。
阅读全文