學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