學J2ME的人應該都知道并不是JDK裡類的方法都能在J2ME API中存在,有些時候我們卻要自己手動實作一個類似于JDK 裡的類方法,無非就是J2ME裡沒有此API方法.
Calendar 類是一個抽象類,它為特定瞬間與一組諸如
YEAR
、
MONTH
、
DAY_OF_MONTH
、
HOUR
等
月曆字段
之間的轉換提供了一些方法.正是利用這些方法實作以下功能:
TimeZone tz = TimeZone.getDefault();
/**取系統預設市區,這裡有一個問題需要注意的是,WTK下的市區本真機上或者系統時間差8小時,這個是時區問題.真
*機上測試就不會有這個8小時差距的
Calendar ca = Calendar.getInstance(tz);
//Calendar 的
getInstance
方法傳回一個
Calendar
對象,其月曆字段已由目前日期和時間初始化
String strYear=String.valueOf(ca.get(Calendar.YEAR));//擷取目前年時間并轉為字元串型
String strMonth=String.valueOf(ca.get(Calendar.MONTH)+1);//擷取目前月時間并轉為字元串型
//ca.get(Calendar.MONTH)+1為什麼加一是因為,0表示1月,1表示2月,依次類推
String strDate=String.valueOf(ca.get(Calendar.DATE));//擷取目前日時間并轉為字元串型
String SysDate=null;
if((ca.get(Calendar.MONTH)+1)<=9&&ca.get(Calendar.DATE)<=9)
{
SysDate=strYear+"0"+strMonth+"0"+strDate;
}else
if((ca.get(Calendar.MONTH)+1)>9&&ca.get(Calendar.DATE)>9)
{
SysDate=strYear+strMonth+strDate;
}else
if((ca.get(Calendar.MONTH)+1)<=9&&ca.get(Calendar.DATE)>9)
{
SysDate=strYear+"0"+strMonth+strDate;
}else
if((ca.get(Calendar.MONTH)+1)>9&&ca.get(Calendar.DATE)<=9)
{
SysDate=strYear+strMonth+"0"+strDate;
}
System.out.println(SysDate);
輸出結果:20070904