2

このコードを使用していますが、他のタイムゾーンでは正しく機能していません。タイムゾーンまたは現在のシステムタイムゾーンを変更することによってこの時間がどのように変更されるか

int時間; int分;

        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 に答える