【发布时间】:2017-01-29 16:29:24
【问题描述】:
在我的应用程序中,我有 2 个箭头显示 2017 年的月份以及一些与它们相关的数据。当用户单击“>”时,它应该显示文本 February 等。而“
这是我使用的代码:
按钮下一步:
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, 1);
Date nextMonth = calendar.getTime();
int yearI = calendar.get(Calendar.YEAR);
if (yearI == 2018)
calendar.set(Calendar.YEAR,2017);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM");
String month = simpleDateFormat.format(nextMonth).toUpperCase();
monthName.setText(month);
Log.d("next month", "" + nextMonth);
按钮下一步:
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
Date prevMonth = calendar.getTime();
int yearI = calendar.get(Calendar.YEAR);
if (yearI == 2016)
calendar.set(Calendar.YEAR,2017);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM");
String month = simpleDateFormat.format(prevMonth).toUpperCase();
monthName.setText(month);
Log.d("prev month", "" + prevMonth);
它工作正常,但是当我从当前月份的 1 月开始并继续点击下一个直到我通过 12 月时,它会转到明年的 1 月,即 2018 年,因此 2017 年 1 月的数据没有显示它只在第一次显示和当我点击上个月时,它会从 2017 年 1 月返回到 2016 年 12 月,而不是 2017 年 12 月。
如何让它只显示 2017 年的月份?
【问题讨论】:
-
您在检查和更改年份之前致电
prevMonth = calendar.getTime();... -
@njzk2 你的意思是我必须在我检查年份后输入这条线吗?
-
@njzk2 谢谢我设法修复它!
标签: java android date calendar