程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME 獲取正確的時區

J2ME 獲取正確的時區

編輯:J2ME
在J2ME 裡面獲取時間本地時間也是要花費點功夫的,下面看看我整理的一些資料,
如果手機是行貨的話,那到正確的手機時間是沒問題的,水貨的話則需要做下手腳,上面的純粹是我個人的猜測,具體還是要看下,
具體還是要運行下才知道。下面看看這些東西吧

J2ME類庫中util包中縮減好多,貌似找不到獲取本地TimeZone的方法

嘗試下了如下代碼,但是輸出為GMT時間

TimeZone   t   =   TimeZone.getTimeZone("GMT+08:00");//獲取東8區TimeZone
Clandar   c   =   Calendar.getInstance(   t   );
String   time   =   c.getTime().toString();
System.out.println(time);//輸出為GMT時間

其中GMT=08:00表示北京時間


看看更詳細的描述

在時間的表達上,經常要使用到時區的概念,在J2ME中關於這個概念,有一個專門的類——TimeZone類。

       在地理上,地球被劃分為24個時區,中國北京時間屬於東八區,烏魯木齊時間屬於東六區,而程序中對於時間的默認實現是以倫敦時間為標准,這樣就產生了八個小時的時差,所以為了讓你的程序更加通用,J2ME的CLDC API中實現了時區類。

       TimeZone類屬於Java.util包,在J2ME中的該類是對於J2SE中TimeZone的簡化。該類是一個抽象類,使用時需要注意。

       如果想獲得實際手機使用區域的默認時區,可以使用以下的代碼實現:

              TimeZone defaultZone = TimeZone. getDefault();

       例如你實際使用的手機在中國,則獲得是東八區,是其他區域的,則是其他區域的時區對象。

       實際中,每個時區都有一個ID,使用這個ID來代表該時區。但是TimeZone在實現過程中,只實現了一部分,獲得可用的時區ID的代碼如下:

              String[] listId = TimeZone. getAvailableIDs();

       這樣就可以獲得手機對於時區ID的支持情況了。

       當你獲得了默認的時區以後,也可以獲得該時區和倫敦時間的差異,其中timeZone是創建好的時區對象,使用的方法如下:

              int offset = timeZone. getRawOffset();

       獲得當前時區對象的ID標識可以使用如下方法獲得:

              String id = timeZone.getID();

       和J2SE中的TimeZone相比,J2ME中沒有提供該類的子類實現,而把對該類的實現交給了手機廠商進行實現,這些內容對於J2ME開發者來說都是透明的,在實際的開發過程中不影響具體的使用。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved