我使用此代码 但在其他时区无法正常工作。如何通过更改时区或当前系统时区来更改此时间
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 :(得分:0)
首先,像这样设置时区:
TimeZone tz = cal.getTimeZone();
date.setTimeZone(tz);
您可以添加检查时区的服务以更新您的应用程序。 实际上,用户不得不在使用应用程序时更改时区,因此您可以在每次应用程序启动时进行检查。