2012-11-14 2 views
2

Я использую этот код , но не работает должным образом в другом часовом поясе. Как это время изменяется путем изменения часового пояса или текущего системного часового поясаизменить время от Time picker по android

int hour; int minute;

 Calendar cal = Calendar.getInstance(); 
     cal.set(Calendar.HOUR, 16); 
     cal.set(Calendar.MINUTE, 30); 
     cal.set(Calendar.SECOND, 0); 
     cal.set(Calendar.AM_PM, Calendar.PM); 


     TimePicker asarTime=(TimePicker)findViewById(R.id.asarTime); 
     asarTime.setCurrentHour(16); 
     asarTime.setCurrentMinute(30); 

     Date currentLocalTime = cal.getTime(); 
     SimpleDateFormat date = new SimpleDateFormat("HH:mm:ss z"); 

     date.setTimeZone(TimeZone.getTimeZone("UTC")); 
     String localTime = date.format(currentLocalTime);   
     TextView timeShow=(TextView)findViewById(R.id.textView1); 

     timeShow.setText(currentLocalTime.toString()); 

ответ

0

Прежде всего, установить часовой пояс, как это:

TimeZone tz = cal.getTimeZone(); 
    date.setTimeZone(tz); 

Вы можете добавить сервис, который проверяет часовой пояс, чтобы обновить приложение. На самом деле это происходит не так часто, что пользователь должен изменить часовой пояс при использовании приложения, поэтому вы можете проверить это каждый раз, когда приложение запускается.