上次我們實現了日期和時間的動態顯示,這次我們來實現學年,學期,周次的顯示,如圖:
首先是學年學期的顯示:
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()方法中