Я хочу создать поток, который будет записывать текущее время в разностных зонах каждую секунду. Это то, что я придумал:Java - текущее время в разных часовых поясах
class TimeThread extends Thread {
String city;
String belt;
public TimeThread(String city, String belt) {
this.city = city;
this.belt = belt;
}
@Override
public void run() {
for (; ;) {
String s = Calendar.getInstance(TimeZone.getTimeZone("GMT" + belt)).getTime().toString();
int i = s.indexOf(":");
System.out.println(city + ": " + s.substring(i - 2, i + 6));
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Все темы показаны в то же время. Что случилось с этим кодом?
И, кстати, как использовать стандарт UTC?
спасибо.
Вы используете 'calendar.getTime(). ToString()', который всегда будет печатать одно и то же время в системном часовом поясе - отсюда нет разницы. Используйте объект форматирования, например 'SimpleDateFormat', и установите там часовой пояс, тогда вы увидите разные локальные времена. –
SimpleDateFormat действительно работает. Спасибо! –