【发布时间】:2020-10-06 12:51:03
【问题描述】:
我正在使用来自 PhilJay/MPAndroidChart android 库的 SingleLine 图表,我需要一份当年过去月份的列表。因此,例如从一月到十月,但是十月是什么时候过去,然后从一月到十一月等等。 我试过这些:Getting List of Month for Past 1 year in Android dynamically, 和Calculate previous 12 months from given month - SimpleDateFormat 但所有这些都是以前 12 个月的,我想从今年年初开始
@SuppressLint("SimpleDateFormat")
private void handleXAxis() {
List<String> allDates = new ArrayList<>();
String maxDate = "Jan";
SimpleDateFormat monthDate = new SimpleDateFormat("MMM");
Calendar cal = Calendar.getInstance();
try {
cal.setTime(Objects.requireNonNull(monthDate.parse(maxDate)));
} catch (ParseException e) {
e.printStackTrace();
}
for (int i = 1; i <= 12; i++) {
String month_name1 = monthDate.format(cal.getTime());
allDates.add(month_name1);
cal.add(Calendar.MONTH, -1);
}
}
【问题讨论】:
-
获取当前日期的月份,然后从0循环到当前日期的月份-1?
-
Calendar.MONTH 从 0.. 0 = JANUARY 开始
-
你为什么不用
java.time.YearMonth?看起来这几乎就是你所需要的......说真的,不要为此使用Calendar或任何其他过时的类......
标签: java android date-formatting