2012-10-17 47 views
2

是否可以在android中以編程方式設置手機的時區?我得到了這個代碼Android - 更改手機的時區

Calendar calendar = Calendar.getInstance();  
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss z"); 
sdf.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles")); 
System.out.println(sdf.format(calendar.getTime())); 

但它不會改變手機的時區。它只顯示美國/洛杉磯的時區。

回答

3

您正在顯示的代碼只是定義了一個Calendar實例,該實例具有要在該應用中使用的特定格式。 以編程方式更改手機的時區是不可能的。

你可以將用戶重定向到適當的設置:

startActivity(new Intent(android.provider.Settings.ACTION_DATE_SETTINGS)); 
+0

這是什麼代碼呢? – jeponkz

+0

它向用戶顯示手機的日期/時間(區域)設置,因此他/她可以手動更改它。這是您可以從應用程序中獲得的關閉。 – MarchingHome

2

嗯,這隻會改變格式,所以你不能指望它改變手機的時區。不,沒有用於更改時間或時區的API,這是爲系統應用程序保留的。

+0

謝謝你男人這方面的資料.. – jeponkz