天天看點

j2me中如何使用Calendar擷取系統時間并轉換成字元串格式

學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