2

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

小时;整数分钟;

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

1 回答 1

0

首先,像这样设置时区:

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

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

于 2012-11-14T08:52:05.753 回答