在android中按位置从时间选择器更改时间

在android中按位置从时间选择器更改时间,android,Android,我使用这个代码 但在其他时区不能正常工作。如何通过更改时区或当前系统时区来更改此时间 整小时; 整数分钟 Calendar cal = Calendar.getInstance(); cal.set(Calendar.HOUR, 16); cal.set(Calendar.MINUTE, 30); cal.set(Calendar.SECOND, 0); cal.set(Calendar.AM_PM, Calenda

我使用这个代码 但在其他时区不能正常工作。如何通过更改时区或当前系统时区来更改此时间

整小时; 整数分钟

        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());

首先,按如下方式设置时区:

 TimeZone tz = cal.getTimeZone();
    date.setTimeZone(tz);
您可以添加一个检查时区的服务来更新应用程序。 实际上,用户在使用应用程序时必须更改时区的情况并不经常发生,因此您可以在每次应用程序启动时检查这一点