2015-01-09 41 views
-3
package timetest; 

import java.util.TimeZone; 

/** 
* 
* @author techno 
*/ 
public class TimeTest { 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     // TODO code application logic here 
     String[] availId = TimeZone.getAvailableIDs(); 

     // checking available Ids 
     System.out.println("Available Ids are: "); 
     for (int i=0; i<availId.length; i++){ 
      System.out.println(availId[i]); 
      System.out.println(TimeZone.getDefault()); 

     } 
    } 

} 
+0

你想它的工作已經https://ideone.com/A45yDT – dev

+0

我想這個甲 好傢伙, 我需要它,'輸入代碼here' 此甲'li'st (UTC +05什麼亞洲/加爾各答 (UTC +06:00)亞洲/達卡 (UTC +05:30)亞洲/加德滿都 (UTC +05:30)亞洲/斯里蘭卡 (UTC +08:00)America/los角度 請幫助我 – Techno

+0

@Techno,爲您的問題添加更多細節,目前尚不清楚您面臨的問題 – Chaitanya

回答

0

檢查,以讓所有的UTC時區https://ideone.com/A45yDT

for (int i=0; i<availId.length; i++){ 
    Calendar cal = GregorianCalendar.getInstance(TimeZone.getTimeZone(availId[i])); 
    int offsetInMillis = TimeZone.getTimeZone(availId[i]).getOffset(cal.getTimeInMillis()); 

    String offset = String.format("%02d:%02d", Math.abs(offsetInMillis/3600000), Math.abs((offsetInMillis/60000) % 60)); 
    offset = (offsetInMillis >= 0 ? "+" : "-") + offset; 
    System.out.println("(UTC "+offset+") "+TimeZone.getTimeZone(availId[i]).getID()); 
     } 
1

試試這個:

方法 TimeZone
for (String id : TimeZone.getAvailableIDs()) { 
    TimeZone tz = TimeZone.getTimeZone(id); 
    int offsetHr = tz.getRawOffset()/1000/60/60; 
    int offsetMin = Math.abs((tz.getRawOffset()/1000/60) % 60); 
    System.out.printf("(UTC%+03d:%02d)%s\n", offsetHr, offsetMin, tz.getID()); 
} 

getRawOffset()回報毫秒的偏移量。從這個值,你可以計算小時和分鐘值。