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