2012-10-17 45 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