上次我们实现了日期和时间的动态显示,这次我们来实现学年,学期,周次的显示,如图:
首先是学年学期的显示:
Calendar c=Calendar.getInstance();
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH)+1;//Calendar对象获得的月份值为实际的月份值减 1
if(2<month&&month<8)
{
textview02.setText(year+"--"+(year+1));
textview03.setText("第二学期");
}
else if(month<=2)
{
textview02.setText((year-1)+"--"+year);
textview03.setText("第一学期");
}
else
{
textview02.setText(year+"--"+(year+1));
textview03.setText("第一学期");
}
这里一般每年的2月到8月为当年学年到下一学年的第二学期,刚开始我认为其余的月份即为当年到下一学年的第一学期,但是发现当年的月份为1月时虽然是第一学期,但是get(Calendar.YEAR)已经为下一年了,所以if(month<=2)时,setText((year-1)+"--"+year);
下面是周次的显示:由于Calendar对象获得的星期的值为:周日是 1,周一是 2,以此类推,所以:
Calendar c=Calendar.getInstance();
int day=c.get(Calendar.DAY_OF_WEEK);
switch (day) {
case 2:
textview05.setText("星期一");
break;
case 3:
textview05.setText("星期二");
break;
case 4:
textview05.setText("星期三");
break;
case 5:
textview05.setText("星期四");
break;
case 6:
textview05.setText("星期五");
break;
case 7:
textview05.setText("星期六");
break;
default:
textview05.setText("星期日");
break;
}
最终的显示效果为:
由于 周次的显示牵涉到数据的存储,因为首先要把本学年第一周周一的时间值获得,然后建立数据库表并存储到数据库中,所以我们暂时先不计算周次。
另外,由于学年学期和星期也都要动态改变,所以我们也要把他们都放在上次的Runnable类的run()方法中